/*
Theme Name: Empire Haul & Clean Reconstructed
Theme URI: https://empirehaulandclean.com
Author: Empire Haul & Clean
Description: Cleaning-first WordPress theme using only real uploaded business photos and actual logo. No licensed or insured claims. Includes Text Now buttons and dashboard-managed project gallery.
Version: 4.0
Text Domain: empire-haul-clean
*/

:root{
  --navy:#071a33;
  --blue:#0e3a66;
  --gold:#c99a20;
  --white:#ffffff;
  --light:#f7f9fc;
  --text:#111827;
  --muted:#64748b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%}
.container{max-width:1180px;margin:0 auto;padding:0 20px}
.topbar{background:var(--navy);color:white;font-size:14px;padding:10px 0}
.topbar .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.header{background:white;position:sticky;top:0;z-index:50;box-shadow:0 5px 22px rgba(0,0,0,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:20px}
.logo-wrap{display:flex;align-items:center;gap:12px}
.logo-wrap img{height:70px;width:auto;object-fit:contain}
.brand-text{font-weight:900;color:var(--navy);font-size:22px;line-height:1.05}
.brand-text span{display:block;color:var(--gold);font-size:17px}
.links{display:flex;gap:18px;font-weight:800;color:var(--navy);font-size:14px;align-items:center}
.btn{display:inline-block;background:var(--gold);color:#071a33;border-radius:999px;padding:13px 20px;font-weight:900;border:2px solid var(--gold)}
.btn.navy{background:var(--navy);color:white;border-color:var(--navy)}
.btn.outline{background:transparent;color:white;border-color:white}
.hero{background:linear-gradient(120deg,rgba(7,26,51,.94),rgba(14,58,102,.74));color:white;padding:82px 0 74px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;top:-150px;width:520px;height:520px;background:rgba(201,154,32,.12);border-radius:50%}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center;position:relative;z-index:1}
.badge{display:inline-block;border:1px solid var(--gold);color:#f8d46a;border-radius:999px;padding:8px 14px;font-weight:900;margin-bottom:15px}
.hero h1{font-size:56px;line-height:1.02;margin:0 0 18px;letter-spacing:-1px}
.hero p{font-size:20px;color:#e5e7eb;margin:0 0 24px;max-width:560px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-img{border-radius:26px;overflow:hidden;box-shadow:0 22px 55px rgba(0,0,0,.35);border:4px solid rgba(255,255,255,.18)}
.hero-img img{width:100%;height:440px;object-fit:cover;display:block}
.trustbar{background:var(--navy);color:white;padding:18px 0}
.trustgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;font-weight:800}
.trustgrid span{color:var(--gold)}
.section{padding:72px 0}
.light{background:var(--light)}
.title{text-align:center;max-width:820px;margin:0 auto 36px}
.eyebrow{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.title h2{font-size:40px;line-height:1.1;margin:6px 0 10px;color:var(--navy)}
.title p{font-size:18px;color:var(--muted);margin:0}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.photo-card{background:white;border-radius:20px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.09);position:relative;border:1px solid #e5e7eb}
.photo-card img{width:100%;height:430px;object-fit:cover;display:block}
.label{position:absolute;top:14px;left:14px;background:var(--navy);color:white;padding:8px 15px;border-radius:8px;font-weight:900;letter-spacing:.04em}
.label.gold{background:var(--gold);color:#111827}
.ribbon{background:var(--navy);color:white;text-align:center;font-weight:900;font-size:24px;padding:18px 20px}
.ribbon span{color:var(--gold)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:white;border:1px solid #e5e7eb;border-radius:20px;padding:25px;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.card h3{margin:0 0 10px;color:var(--navy);font-size:22px}
.card p{color:#475569;margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}
.split img{border-radius:22px;box-shadow:0 14px 34px rgba(0,0,0,.13);width:100%;height:420px;object-fit:cover}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:20px 0}
.service-list div:before{content:"✓";color:var(--gold);font-weight:900;margin-right:8px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-grid img{width:100%;height:230px;object-fit:cover;border-radius:16px;box-shadow:0 7px 20px rgba(0,0,0,.09)}
.upload-gallery-box{background:white;border:2px dashed var(--gold);border-radius:22px;padding:30px;text-align:center;max-width:900px;margin:28px auto 0;box-shadow:0 8px 24px rgba(0,0,0,.06)}
.upload-gallery-box h3{color:var(--navy);font-size:26px;margin:0 0 8px}
.upload-gallery-box p{color:#64748b;margin:0}
.cta{background:linear-gradient(120deg,var(--navy),var(--blue));color:white;text-align:center;padding:65px 20px}
.cta h2{font-size:40px;margin:0 0 10px}
.cta p{color:#dbeafe;font-size:18px}
.contact-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}
.footer{background:#031024;color:#cbd5e1;padding:35px 0;text-align:center}
.footer strong{color:white}
.footer .small{color:#94a3b8;font-size:14px}
.wp-block-gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:14px}
.wp-block-gallery img{width:100%;height:230px;object-fit:cover;border-radius:14px}
@media(max-width:900px){
  .hero-grid,.before-after,.split{grid-template-columns:1fr}
  .cards,.gallery-grid{grid-template-columns:1fr}
  .trustgrid{grid-template-columns:1fr 1fr}
  .links{display:none}
  .hero h1{font-size:40px}
  .hero-img img,.photo-card img,.split img{height:320px}
  .logo-wrap img{height:56px}
}


.managed-gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  box-shadow:0 7px 20px rgba(0,0,0,.09);
  background:#fff;
}
.managed-gallery-item img{
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}
.gallery-caption{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  background:linear-gradient(transparent,rgba(7,26,51,.9));
  color:#fff;
  padding:35px 12px 10px;
  font-weight:800;
  font-size:14px;
}
.upload-gallery-box ol{
  text-align:left;
  display:inline-block;
  color:#475569;
}

.gallery-grid a.lightbox-trigger{display:block;cursor:zoom-in}
.gallery-grid a.lightbox-trigger img{transition:transform .25s ease, box-shadow .25s ease}
.gallery-grid a.lightbox-trigger:hover img{transform:scale(1.03);box-shadow:0 12px 30px rgba(7,26,51,.25)}
.empire-lightbox{position:fixed;inset:0;background:rgba(3,16,36,.92);z-index:9999;display:none;align-items:center;justify-content:center;padding:30px}
.empire-lightbox.active{display:flex}
.empire-lightbox img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.45);background:white}
.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;border:none;background:rgba(255,255,255,.95);color:#071a33;cursor:pointer;font-weight:900;border-radius:999px;width:48px;height:48px;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center}
.lightbox-close{top:22px;right:22px;font-size:36px}
.lightbox-prev{left:22px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:22px;top:50%;transform:translateY(-50%)}
@media(max-width:700px){.empire-lightbox{padding:15px}.lightbox-prev,.lightbox-next{width:42px;height:42px;font-size:22px}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{top:10px;right:10px}}
