/*
Theme Name: Esquire Restored
Theme URI: https://esquirelandtitle.com
Author: Esquire Land Title
Description: Rebuilt theme for Esquire Land Title, reconstructed from Wayback Machine archives and live site content after the original custom theme was lost. Uses the real brand color (#019ef6), Raleway font, and real logo/content.
Version: 1.0
Text Domain: esquire-restored
*/

/* ===== Reconstructed from the real "esquire" theme's style.css / esquire-style.css ===== */

:root{
--theme-color:#019ef6;
--dark-theme-clr:#000;
--bg-light:rgb(15, 49, 87,4%);
}
* { box-sizing: border-box; }
body{
font-family: "Raleway", sans-serif !important;
margin: 0;
color: #212529;
line-height: 1.6;
}
img { max-width: 100%; height: auto; }
h1{ font-size: 56px; margin: 0 0 20px; font-weight: 700; }
h2{ font-size: 40px; margin: 0 0 20px; font-weight: 700; }
h3{ font-size: 28px; font-weight: 600; margin: 0 0 15px; }
h4{ font-size: 20px; font-weight: 600; margin: 0 0 10px; }
p { margin: 0 0 15px; }
a{ color: var(--theme-color); text-decoration: none; }
a:hover{ color: #017bc2; }
.use-theme-clr{ color: var(--theme-color); }
.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.btn-primary-custom{
display: inline-block;
background: var(--theme-color);
border: 1px solid var(--theme-color);
color: #fff !important;
padding: 12px 36px;
border-radius: 2px;
font-weight: 600;
letter-spacing: .5px;
transition: all .2s ease;
}
.btn-primary-custom:hover{
background: #fff;
color: var(--theme-color) !important;
}

/* Top bar */
.top-bar{
background: var(--dark-theme-clr);
color: #fff;
font-size: 14px;
padding: 8px 0;
}
.top-bar .container{
display: flex;
justify-content: flex-end;
gap: 24px;
flex-wrap: wrap;
}
.top-bar a{ color: #fff; }
.top-bar a:hover{ color: var(--theme-color); }

/* Header */
header.site-header{
background: var(--dark-theme-clr);
position: sticky;
top: 0;
z-index: 1000;
}
.header-inner{
display: flex;
align-items: center;
justify-content: space-between;
padding: 14px 0;
}
.header-logo img{ width: 220px; display: block; }
nav.main-nav ul{
list-style: none;
display: flex;
gap: 26px;
margin: 0;
padding: 0;
align-items: center;
flex-wrap: wrap;
}
nav.main-nav > ul { position: relative; }
nav.main-nav a{
color: #fff;
font-size: 16px;
font-weight: 500;
}
nav.main-nav a:hover{ color: var(--theme-color); }
nav.main-nav li{ position: relative; }
nav.main-nav .sub-menu{
display: none;
position: absolute;
top: 100%;
left: 0;
background: #000;
list-style: none;
padding: 10px 0;
min-width: 200px;
box-shadow: 0 4px 14px rgba(0,0,0,.4);
z-index: 10;
}
nav.main-nav li:hover .sub-menu{ display: block; }
nav.main-nav .sub-menu li{ padding: 0; }
nav.main-nav .sub-menu a{
display: block;
padding: 8px 20px;
font-size: 15px;
}
nav.main-nav .sub-menu a:hover{ background: rgba(1,158,246,.15); }
.menu-toggle{
display: none;
background: none;
border: 0;
color: #fff;
font-size: 28px;
}

/* Hero / Banner */
.hero-banner{
position: relative;
min-height: 640px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
color: #fff;
background: #0a0a0a linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55));
background-size: cover;
background-position: center;
overflow: hidden;
}
.hero-banner video{
position: absolute;
top: 50%; left: 50%;
transform: translate(-50%,-50%);
min-width: 100%;
min-height: 100%;
width: auto; height: auto;
z-index: 0;
object-fit: cover;
filter: brightness(0.55);
}
.hero-content{ position: relative; z-index: 1; max-width: 760px; padding: 0 20px; }
.hero-content h1{ font-size: 48px; letter-spacing: 1px; }
.hero-content p{ font-size: 20px; }

/* Locations quick nav under hero */
.location-quicknav{ background: #fff; padding: 30px 0; text-align: center; border-bottom: 1px solid #eee; }
.location-quicknav h4{ margin-bottom: 18px; color: #444; font-weight: 500; }
.location-pills{ display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; }
.location-pills a{
background: var(--bg-light);
color: #000;
border-radius: 50px;
padding: 8px 22px;
font-size: 15px;
font-weight: 500;
}
.location-pills a:hover{ background: var(--theme-color); color: #fff; }

/* Section spacing */
.section{ padding: 70px 0; }
.section-alt{ background: #f7f9fb; }
.section-title-kicker{ color: var(--theme-color); font-weight: 600; text-transform: uppercase; font-size: 14px; letter-spacing: 1px; margin-bottom: 8px; }

/* Who we are */
.who-we-are{ display: flex; gap: 50px; align-items: center; flex-wrap: wrap; }
.who-we-are .img-col{ flex: 1 1 380px; }
.who-we-are .img-col img{ border-radius: 4px; box-shadow: 0 0 20px 5px rgba(0,0,0,.15); }
.who-we-are .text-col{ flex: 1 1 480px; }

/* Services grid */
.services-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.service-card{
background: #fff;
border: 1px solid #eee;
border-radius: 4px;
padding: 30px 24px;
text-align: center;
box-shadow: 0 0 20px 5px rgba(0,0,0,.05);
transition: all .2s ease;
}
.service-card:hover{ box-shadow: 0 0 20px 5px rgba(0,0,0,.12); transform: translateY(-3px); }
.service-card h4{ color: var(--dark-theme-clr); }

/* Location cards (offices) */
.offices-grid{ display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.office-card{
background: #fff;
border: 1px solid #eee;
border-radius: 4px;
overflow: hidden;
box-shadow: 0 0 20px 5px rgba(0,0,0,.05);
}
.office-card .office-body{ padding: 20px; }
.office-card h4{ margin-bottom: 8px; }
.office-card p{ margin-bottom: 6px; font-size: 15px; color: #444; }
.office-card a{ font-weight: 600; }

/* Page banner (sub pages) */
.page-banner{
position: relative;
min-height: 260px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
text-align: center;
background: #0a0a0a linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6));
background-size: cover;
background-position: center;
}
.page-banner h1{ margin: 0; font-size: 40px; }

/* Generic content */
.entry-content{ font-size: 17px; }
.entry-content img{ border-radius: 4px; }

/* Footer */
footer.site-footer{ background: var(--dark-theme-clr); color: #fff; padding: 60px 0 0; }
.footer-grid{ display: grid; grid-template-columns: 1.4fr 1fr 1.4fr; gap: 40px; padding-bottom: 40px; }
.footer-grid h3{ color: #fff; font-size: 18px; margin-bottom: 18px; }
.footer-logo img{ width: 200px; margin-bottom: 16px; }
footer.site-footer a{ color: #ccc; }
footer.site-footer a:hover{ color: var(--theme-color); }
footer.site-footer ul{ list-style: none; padding: 0; margin: 0; }
footer.site-footer li{ margin-bottom: 10px; font-size: 15px; }
.footer-bottom{ border-top: 1px dashed #444; padding: 20px 0; text-align: center; font-size: 14px; color: #999; }

/* Contact page */
.contact-grid{ display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.contact-form-box{ background: #fff; box-shadow: 0 0 20px 5px rgba(0,0,0,.1); padding: 30px; border-radius: 4px; }
.contact-form-box input, .contact-form-box textarea{
width: 100%;
padding: 12px 14px;
margin-bottom: 14px;
border: 1px solid #ddd;
border-radius: 3px;
font-family: inherit;
}

@media (max-width: 900px){
.services-grid, .offices-grid{ grid-template-columns: repeat(2,1fr); }
.footer-grid{ grid-template-columns: 1fr; }
.contact-grid{ grid-template-columns: 1fr; }
nav.main-nav ul{ display: none; }
.menu-toggle{ display: block; }
.hero-content h1{ font-size: 34px; }
nav.main-nav.nav-open > ul{
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--dark-theme-clr);
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	padding: 10px 20px 20px;
	box-shadow: 0 4px 14px rgba(0,0,0,.4);
}
nav.main-nav.nav-open > ul > li{ width: 100%; padding: 8px 0; }
nav.main-nav.nav-open .sub-menu{
	display: block;
	position: static;
	box-shadow: none;
	background: transparent;
	padding: 4px 0 0 12px;
}
}
@media (max-width: 560px){
.services-grid, .offices-grid{ grid-template-columns: 1fr; }
.top-bar .container{ justify-content: center; }
.header-logo img{ width: 150px; }
}
