/*
Theme Name: Larry Locksmith Teaneck
Theme URI: https://www.locksmithnearmeteaneck.com/
Author: Larry Locksmith Teaneck
Author URI: https://www.locksmithnearmeteaneck.com/
Description: A fast, SEO-optimized WordPress theme for Larry Locksmith Teaneck NJ. Converted from the original static site, preserving every page, image, title, map and piece of content. Includes home, service landing pages, individual service pages, and a contact page with form. On activation it auto-builds all pages and the main navigation menu.
Version: 1.0.0
Requires at least: 5.6
Tested up to: 6.5
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: larry-locksmith-teaneck
*/

/* Teaneck Locksmith Styles */

:root{--tks-brand:#ec462f;--tks-brand-dk:#d13a25;--tks-brand-lt:#f06a58;--tks-accent:#469c71;--tks-accent-dk:#357a59;--tks-accent-lt:#5bb888;--tks-ink:#1b1b1b;--tks-ink-mid:#2a2a2a;--tks-snow:#fff;--tks-canvas:#f7f7f5;--tks-mist:#eceae6;--tks-body:#1b1b1b;--tks-body-lt:#3d3d3d;--tks-panel:#469c71;--tks-panel-dk:#357a59;--tks-r-sm:10px;--tks-r-md:14px;--tks-ease:0.3s ease}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--tks-body);background:var(--tks-canvas);line-height:1.7;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto;display:block}

/* TOP BAR */
.tks-header{background:var(--tks-brand);padding:18px 40px;display:flex;justify-content:space-between;align-items:center}
.tks-header .logo{font-family:'Space Grotesk',sans-serif;color:var(--tks-snow);font-size:1.5rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;display:flex;align-items:center;gap:10px;line-height:1.1}
.tks-header .logo .tks-accent{color:var(--tks-ink)}
.tks-header .tks-dial{color:var(--tks-snow);font-family:'Space Grotesk',sans-serif;font-size:1.35rem;font-weight:800;display:flex;align-items:center;gap:8px;transition:color var(--tks-ease)}
.tks-header .tks-dial:hover{color:var(--tks-ink)}

/* NAV */
nav{background:var(--tks-accent);padding:0 40px;display:flex;justify-content:center;position:relative}
.tks-nav{display:flex;justify-content:center;gap:0}
.tks-nav>a,.tks-nav>.tks-submenu>a{color:var(--tks-snow);padding:14px 18px;font-family:'Space Grotesk',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.5px;transition:background var(--tks-ease);display:flex;align-items:center;gap:6px;white-space:nowrap}
.tks-nav>a:hover,.tks-nav>a.is-current,.tks-nav>.tks-submenu:hover>a{background:var(--tks-accent-dk)}
.tks-nav>a svg,.tks-nav>.tks-submenu>a svg{flex-shrink:0}

/* HAMBURGER */
.tks-menu-wrap{display:none;justify-content:center;padding:10px 20px;background:var(--tks-accent);width:100%}
.tks-menu-toggle{display:none;background:none;border:2px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;padding:8px 12px}
.tks-menu-toggle span{display:block;width:24px;height:2.5px;background:var(--tks-snow);border-radius:3px;transition:all .3s ease;margin:5px 0}
.tks-menu-toggle.is-active span:nth-child(1){transform:rotate(45deg) translate(5px,6px)}
.tks-menu-toggle.is-active span:nth-child(2){opacity:0}
.tks-menu-toggle.is-active span:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}

/* DROPDOWN */
.tks-submenu{position:relative}
.tks-submenu>a{cursor:pointer}
.tks-submenu-list{display:none;position:absolute;top:100%;left:0;background:var(--tks-ink);min-width:240px;border-radius:0 0 var(--tks-r-sm) var(--tks-r-sm);box-shadow:0 12px 40px rgba(0,0,0,.25);z-index:200;overflow:hidden}
.tks-submenu-list a{display:flex;align-items:center;gap:10px;padding:12px 20px;color:rgba(255,255,255,.85);font-family:'Inter',sans-serif;font-size:.87rem;font-weight:500;border-bottom:1px solid rgba(255,255,255,.06);transition:all var(--tks-ease)}
.tks-submenu-list a:last-child{border-bottom:none}
.tks-submenu-list a:hover{background:var(--tks-brand);color:var(--tks-snow);padding-left:26px}
.tks-submenu:hover .tks-submenu-list{display:block}

/* HERO */
.tks-banner{position:relative;min-height:auto;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:var(--tks-ink)}
.tks-banner-img{position:relative;width:100%;height:auto;object-fit:contain;opacity:1}
.tks-banner::after{content:"";position:absolute;inset:0;background:rgba(27,27,27,.0);z-index:1}
.tks-banner-text{position:relative;z-index:2;text-align:center;padding:40px 20px 50px;max-width:800px;width:100%}
.tks-banner-text h2{font-family:'Space Grotesk',sans-serif;color:var(--tks-snow);font-size:2.8rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;text-shadow:0 2px 16px rgba(0,0,0,.7),0 0 40px rgba(0,0,0,.5);display:none}
.tks-banner-text h2 .tks-highlight{color:var(--tks-brand)}
.tks-banner-text .tks-banner-desc{display:none}
.tks-banner-cta{display:none}
.tks-banner-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(236,70,47,.5);background:var(--tks-brand-dk)}

/* SERVICE CARDS */
.tks-offerings{max-width:1200px;margin:-40px auto 0;padding:0 20px 60px;position:relative;z-index:3}
.tks-offerings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tks-offer-tile{border-radius:var(--tks-r-md);overflow:hidden;box-shadow:0 4px 20px rgba(28,28,28,.12);transition:transform .4s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease,border-color .4s ease;cursor:pointer;border:3px solid transparent;position:relative}
.tks-offer-tile:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 48px rgba(70,156,113,.25);border-color:var(--tks-brand)}
.tks-offer-tile a{display:block;color:inherit;position:relative}
.tks-offer-tile .tks-tile-photo{height:auto;overflow:hidden;position:relative;aspect-ratio:16/10}
.tks-offer-tile .tks-tile-photo::after{content:"";position:absolute;inset:0;background:rgba(27,27,27,.15);opacity:1;transition:opacity .4s ease}
.tks-offer-tile:hover .tks-tile-photo::after{opacity:0}
.tks-offer-tile .tks-tile-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94),filter .4s ease}
.tks-offer-tile:hover .tks-tile-photo img{transform:scale(1.08)}
.tks-offer-tile .tks-tile-name{display:block;background:var(--tks-accent);color:var(--tks-snow);font-family:'Space Grotesk',sans-serif;font-size:0.95rem;font-weight:700;text-align:center;padding:12px 16px;letter-spacing:0.5px;text-transform:uppercase;transition:background .3s ease,color .3s ease}
.tks-offer-tile:hover .tks-tile-name{background:var(--tks-brand);color:#fff}

/* CONTENT AREA */
.tks-page-body{max-width:1200px;margin:0 auto;padding:30px 20px 60px;display:grid;grid-template-columns:1fr 350px;gap:40px}
.tks-article h1{font-family:'Space Grotesk',sans-serif;color:var(--tks-accent);font-size:2rem;font-weight:800;margin-bottom:20px}
.tks-article h2{font-family:'Space Grotesk',sans-serif;color:var(--tks-accent);font-size:1.8rem;font-weight:800;margin-bottom:20px}
.tks-article p{line-height:1.8;margin-bottom:16px;color:var(--tks-body-lt);font-size:.97rem}
.tks-article h3{font-family:'Space Grotesk',sans-serif;color:var(--tks-accent);font-size:1.3rem;font-weight:700;margin:30px 0 14px}
.tks-article a{color:var(--tks-accent);font-weight:600;transition:color var(--tks-ease);text-decoration:underline;text-decoration-color:rgba(70,156,113,.3);text-underline-offset:3px}
.tks-article a:hover{color:var(--tks-brand);text-decoration-color:var(--tks-brand)}
.tks-article .tks-feature-photo{position:relative;border-radius:var(--tks-r-md);margin:20px 0 24px;overflow:hidden;box-shadow:0 6px 24px rgba(28,28,28,.1)}
.tks-article .tks-feature-photo::after{content:"";position:absolute;inset:0;background:rgba(27,27,27,0);border-radius:var(--tks-r-md)}
.tks-article .tks-feature-img{width:100%;border-radius:var(--tks-r-md);margin:0;box-shadow:none}

/* SIDEBAR */
.tks-aside{background:var(--tks-panel);border-radius:var(--tks-r-md);overflow:hidden;box-shadow:0 12px 40px rgba(28,28,28,.15);height:fit-content;position:sticky;top:20px}
.tks-aside-top{background:var(--tks-panel-dk);padding:24px;text-align:center}
.tks-aside-top h3{font-family:'Space Grotesk',sans-serif;color:var(--tks-snow);font-size:1.15rem;font-weight:700;letter-spacing:1px}
.tks-aside-top p{color:var(--tks-brand);font-family:'Space Grotesk',sans-serif;font-size:1rem;margin-top:4px;font-weight:600}
.tks-aside-top .tks-badge-fast{color:rgba(255,255,255,.7);font-family:'Space Grotesk',sans-serif;font-size:.82rem;margin-top:6px;letter-spacing:2px;text-transform:uppercase}
.tks-aside-info{padding:24px}
.tks-aside-info h4{font-family:'Space Grotesk',sans-serif;color:var(--tks-snow);font-size:1rem;margin-bottom:10px;font-weight:700}
.tks-aside-info .tks-location-line{color:rgba(255,255,255,.9);font-size:.87rem;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.tks-aside-info .tks-location-line svg{color:var(--tks-brand);flex-shrink:0}
.tks-aside-info iframe{border:0;border-radius:var(--tks-r-sm);width:100%;height:200px}
.tks-aside-call{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 24px 24px;background:var(--tks-brand);color:var(--tks-snow);font-family:'Space Grotesk',sans-serif;font-weight:700;padding:10px;border-radius:var(--tks-r-sm);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;transition:transform .2s,background .3s;box-shadow:0 4px 16px rgba(236,70,47,.35)}
.tks-aside-call:hover{transform:translateY(-2px);background:var(--tks-brand-dk)}
.tks-aside-links{margin:0 24px 24px;background:var(--tks-panel-dk);border-radius:var(--tks-r-sm);overflow:hidden}
.tks-aside-links h4{font-family:'Space Grotesk',sans-serif;color:var(--tks-brand);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:16px 18px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.tks-aside-links a{display:flex;align-items:center;gap:10px;padding:12px 18px;color:rgba(255,255,255,.85);font-size:.87rem;font-weight:500;border-bottom:1px solid rgba(255,255,255,.06);transition:all var(--tks-ease)}
.tks-aside-links a:last-child{border-bottom:none}
.tks-aside-links a:hover{background:rgba(255,255,255,.08);color:var(--tks-brand);padding-left:24px}
.tks-aside-links a svg{color:var(--tks-brand);flex-shrink:0}

/* CTA SECTION */
.tks-contact-zone{background:linear-gradient(135deg,var(--tks-accent),var(--tks-accent-dk));padding:55px 20px;text-align:center}
.tks-contact-zone h2{font-family:'Space Grotesk',sans-serif;color:var(--tks-snow);font-size:1.9rem;font-weight:800;margin-bottom:14px}
.tks-contact-zone p{color:rgba(255,255,255,.88);max-width:680px;margin:0 auto 20px;line-height:1.7;font-size:.97rem}
.tks-contact-zone .tks-action-btn{display:inline-flex;align-items:center;gap:10px;background:var(--tks-brand);color:var(--tks-snow);font-family:'Space Grotesk',sans-serif;font-size:1.05rem;font-weight:700;padding:14px 36px;border-radius:var(--tks-r-sm);text-transform:uppercase;letter-spacing:1px;transition:transform .2s,box-shadow .2s,background .3s;box-shadow:0 4px 20px rgba(236,70,47,.4);border:none;cursor:pointer}
.tks-contact-zone .tks-action-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(236,70,47,.55);background:var(--tks-brand-dk)}
.tks-contact-zone .tks-action-btn-alt{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);box-shadow:none}
.tks-contact-zone .tks-action-btn-alt:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff}
.tks-inquiry-form{max-width:760px;margin:0 auto;text-align:left}
.tks-field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.tks-field{display:flex;flex-direction:column;gap:6px}
.tks-field-wide{margin-bottom:16px}
.tks-field label{font-family:'Space Grotesk',sans-serif;font-size:.82rem;font-weight:700;color:rgba(255,255,255,.9);text-transform:uppercase;letter-spacing:.5px}
.tks-field input,.tks-field select,.tks-field textarea{background:rgba(255,255,255,.95);border:2px solid transparent;border-radius:var(--tks-r-sm);padding:11px 14px;font-family:'Inter',sans-serif;font-size:.95rem;color:var(--tks-ink);outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box}
.tks-field input:focus,.tks-field select:focus,.tks-field textarea:focus{border-color:var(--tks-brand);box-shadow:0 0 0 3px rgba(236,70,47,.25)}
.tks-field select{cursor:pointer}
.tks-field textarea{resize:vertical;min-height:110px}
.tks-field-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.tks-field-ok{margin-top:18px;background:rgba(70,156,113,.3);border:1px solid rgba(70,156,113,.6);color:#fff;padding:12px 20px;border-radius:var(--tks-r-sm);font-weight:600;font-size:.95rem}

/* FOOTER */
footer{background:var(--tks-brand);padding:50px 20px 30px;text-align:center}
footer .tks-foot-brand{font-family:'Space Grotesk',sans-serif;color:var(--tks-snow);font-size:1.7rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:16px}
footer .tks-foot-dial{color:var(--tks-snow);font-family:'Space Grotesk',sans-serif;font-size:1.3rem;font-weight:700;display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;transition:color var(--tks-ease)}
footer .tks-foot-dial:hover{color:var(--tks-ink)}
footer .tks-foot-loc{color:rgba(255,255,255,.85);font-size:.9rem;margin-bottom:24px;display:flex;align-items:center;justify-content:center;gap:8px}
footer .tks-foot-loc svg{color:var(--tks-snow)}
footer .tks-foot-nav{margin-bottom:24px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
footer .tks-foot-nav a{color:rgba(255,255,255,.85);font-size:.85rem;font-weight:600;transition:color var(--tks-ease)}
footer .tks-foot-nav a:hover{color:var(--tks-ink)}
footer .tks-foot-nav .tks-divider{color:rgba(255,255,255,.3)}
footer .tks-legal{color:rgba(255,255,255,.55);font-size:.8rem;border-top:1px solid rgba(255,255,255,.15);padding-top:20px}

/* SCROLL TOP */
.tks-back-top{position:fixed;bottom:30px;right:30px;width:44px;height:44px;background:var(--tks-brand);color:var(--tks-snow);border:none;border-radius:var(--tks-r-sm);cursor:pointer;box-shadow:0 4px 16px rgba(236,70,47,.3);transition:opacity .3s,transform .2s,background .3s;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none}
.tks-back-top.is-shown{opacity:1;pointer-events:auto}
.tks-back-top:hover{transform:translateY(-3px);background:var(--tks-brand-dk)}

/* RESPONSIVE */
@media(max-width:900px){
  .tks-offerings-grid{grid-template-columns:repeat(2,1fr)}
  .tks-page-body{grid-template-columns:1fr}
  .tks-header{flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;padding:14px 16px;gap:8px;text-align:center}
  .tks-header .logo{font-size:0.95rem;letter-spacing:0.5px;white-space:nowrap;justify-content:center;line-height:1.2}
  .tks-header .tks-dial{font-size:1.1rem;white-space:nowrap;justify-content:center;gap:8px;background:var(--tks-ink);color:var(--tks-brand);padding:8px 20px;border-radius:50px;font-weight:800;letter-spacing:0.5px}
  .tks-offer-tile .tks-tile-name{font-size:0.65rem;padding:8px 6px;letter-spacing:0}
  .tks-menu-wrap{display:flex}
  .tks-menu-toggle{display:block}
  nav{padding:0}
  .tks-nav{display:none;flex-direction:column;width:100%;background:var(--tks-accent)}
  .tks-nav.is-open{display:flex}
  .tks-nav>a,.tks-nav>.tks-submenu>a{padding:16px 24px;border-top:1px solid rgba(255,255,255,.08);justify-content:center;text-align:center}
  .tks-submenu{width:100%}
  .tks-submenu>a{display:flex;width:100%;justify-content:center}
  .tks-submenu-list{position:static;box-shadow:none;border-radius:0;background:rgba(0,0,0,.15);min-width:100%}
  .tks-submenu-list a{padding:14px 24px;justify-content:center;font-size:.85rem}
  .tks-submenu:hover .tks-submenu-list{display:none}
  .tks-submenu .tks-submenu-list.is-open{display:block!important}
  .tks-banner-text h2{font-size:2rem}
  footer .tks-foot-nav{gap:6px 12px}
}
@media(min-width:901px){
  .tks-nav{display:flex!important;justify-content:center}
  .tks-menu-wrap{display:none!important}
}
@media(max-width:550px){
  .tks-offerings-grid{grid-template-columns:repeat(2,1fr)}
  .tks-banner-text h2{font-size:1.6rem;letter-spacing:1px}
  .tks-banner-text .tks-banner-desc{font-size:.93rem}
  .tks-banner-cta{font-size:.85rem;padding:12px 24px}
  .tks-header .logo{font-size:0.82rem;letter-spacing:0}
  .tks-header .tks-dial{font-size:1rem;padding:7px 18px}
  .tks-contact-zone h2{font-size:1.4rem}
  .tks-field-row{grid-template-columns:1fr}
  .tks-field-actions{flex-direction:column;align-items:stretch}
  .tks-field-actions .tks-action-btn{text-align:center;justify-content:center}
  .tks-article h1{font-size:1.5rem}
  .tks-article h2{font-size:1.4rem}
}
