/*
Theme Name: Esyconnect
Theme URI: https://esyconnect.in
Author: Esyconnect
Author URI: https://esyconnect.in
Description: Esyconnect.in classifieds theme - list Cars, Property, Jobs, Books, Gadgets, Restaurant Discounts and Discount Cards with per-category Schema.org markup, auto/manual location detection, and automatic image watermarking.
Version: 1.0.0
Requires at least: 5.8
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: esyconnect
*/

:root{
  --esy-primary:#0f6d4f;
  --esy-primary-dark:#0a4f39;
  --esy-accent:#ff7a1a;
  --esy-bg:#f4f6f5;
  --esy-card:#ffffff;
  --esy-text:#1c2a25;
  --esy-muted:#6b7a75;
  --esy-border:#e2e8e5;
  --esy-radius:10px;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--esy-bg);
  color:var(--esy-text);
  line-height:1.5;
}
a{color:var(--esy-primary);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}

.esy-container{max-width:1180px;margin:0 auto;padding:0 16px;}

/* Header */
.esy-header{background:var(--esy-primary);color:#fff;position:sticky;top:0;z-index:50;}
.esy-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;flex-wrap:wrap;}
.esy-logo{font-size:24px;font-weight:800;color:#fff;letter-spacing:.3px;}
.esy-logo span{color:var(--esy-accent);}
.esy-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.esy-btn{
  display:inline-block;background:var(--esy-accent);color:#fff;border:none;
  padding:9px 16px;border-radius:6px;cursor:pointer;font-weight:600;font-size:14px;
}
.esy-btn:hover{background:#e56a10;text-decoration:none;color:#fff;}
.esy-btn-outline{background:transparent;border:1px solid #fff;color:#fff;}
.esy-btn-outline:hover{background:rgba(255,255,255,.15);color:#fff;}

/* Location bar */
.esy-location-bar{background:var(--esy-primary-dark);color:#fff;font-size:13px;}
.esy-location-inner{display:flex;align-items:center;gap:10px;padding:8px 16px;flex-wrap:wrap;}
.esy-location-inner select{padding:5px 8px;border-radius:5px;border:none;}
#esy-detect-location{background:none;border:1px solid rgba(255,255,255,.5);color:#fff;padding:4px 10px;border-radius:5px;cursor:pointer;font-size:12px;}
#esy-location-label{font-weight:700;}

/* Hero */
.esy-hero{
  background:linear-gradient(135deg,var(--esy-primary) 0%,var(--esy-primary-dark) 65%,#083826 100%);
  color:#fff;padding:56px 0 44px;position:relative;overflow:hidden;
}
.esy-hero::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 85% 20%,rgba(255,122,26,.25),transparent 45%),
             radial-gradient(circle at 10% 90%,rgba(255,255,255,.08),transparent 40%);
  pointer-events:none;
}
.esy-hero-inner{position:relative;text-align:center;}
.esy-hero h1{font-size:36px;margin:0 0 12px;font-weight:800;line-height:1.25;}
.esy-hero h1 span{color:var(--esy-accent);}
.esy-hero p{font-size:16px;color:rgba(255,255,255,.85);max-width:560px;margin:0 auto 26px;}
.esy-hero-search{max-width:520px;margin:0 auto;}
.esy-hero-search form.esy-search-form{max-width:100%;box-shadow:0 8px 24px rgba(0,0,0,.18);border-radius:8px;}
.esy-hero-search input[type=search]{border-radius:8px 0 0 8px;padding:14px;font-size:15px;}
.esy-hero-search button{border-radius:0 8px 8px 0;padding:0 20px;font-size:18px;}
.esy-hero-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;}
.esy-pill{
  background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;
  padding:7px 14px;border-radius:999px;font-size:13px;font-weight:600;backdrop-filter:blur(2px);
}
.esy-pill:hover{background:rgba(255,255,255,.22);text-decoration:none;color:#fff;}

@media (max-width:600px){
  .esy-hero h1{font-size:26px;}
  .esy-hero{padding:40px 0 32px;}
}

/* Stats bar */
.esy-stats-bar{background:var(--esy-card);border-bottom:1px solid var(--esy-border);}
.esy-stats-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:0;padding:18px 16px;}
.esy-stat{flex:1;min-width:130px;text-align:center;padding:6px 12px;border-right:1px solid var(--esy-border);}
.esy-stat:last-child{border-right:none;}
.esy-stat strong{display:block;font-size:22px;color:var(--esy-primary);font-weight:800;}
.esy-stat span{font-size:12px;color:var(--esy-muted);text-transform:uppercase;letter-spacing:.04em;}

/* Category grid */
.esy-cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:24px 0;}
.esy-cat-card{
  background:var(--esy-card);border:1px solid var(--esy-border);border-radius:var(--esy-radius);
  padding:20px 12px;text-align:center;font-weight:700;color:var(--esy-text);transition:.15s;
}
.esy-cat-card:hover{border-color:var(--esy-primary);box-shadow:0 4px 14px rgba(0,0,0,.06);text-decoration:none;transform:translateY(-2px);}
.esy-cat-icon{font-size:32px;display:block;margin-bottom:8px;}

/* Listings grid */
.esy-section-title{display:flex;align-items:center;justify-content:space-between;margin:32px 0 12px;}
.esy-section-title h2{margin:0;font-size:20px;display:flex;align-items:center;gap:8px;}
.esy-section-title-recent h2{color:var(--esy-primary-dark);}
.esy-section-icon{
  display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:8px;background:#eef7f2;font-size:18px;
}
.esy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;}
.esy-grid-recent{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
.esy-card{
  background:var(--esy-card);border:1px solid var(--esy-border);border-radius:var(--esy-radius);
  overflow:hidden;transition:.15s;
}
.esy-card:hover{box-shadow:0 8px 22px rgba(15,109,79,.12);border-color:var(--esy-primary);transform:translateY(-3px);text-decoration:none;}
.esy-card-img{aspect-ratio:4/3;overflow:hidden;background:#eee;position:relative;}
.esy-card-img img{width:100%;height:100%;object-fit:cover;}
.esy-badge{position:absolute;top:8px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;color:#fff;}
.esy-badge-discount{left:8px;background:var(--esy-accent);}
.esy-badge-new{right:8px;background:var(--esy-primary);}
.esy-card-body{padding:12px;}
.esy-card-price{font-weight:800;color:var(--esy-primary);font-size:16px;}
.esy-card-title{font-size:14px;margin:4px 0;font-weight:600;color:var(--esy-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.esy-card-loc{font-size:12px;color:var(--esy-muted);}
.esy-empty{padding:40px;text-align:center;color:var(--esy-muted);}

/* CTA band */
.esy-cta-band{
  margin:48px 0;background:linear-gradient(120deg,var(--esy-primary),var(--esy-primary-dark));
  color:#fff;border-radius:var(--esy-radius);padding:28px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.esy-cta-band h2{margin:0 0 6px;font-size:20px;}
.esy-cta-band p{margin:0;color:rgba(255,255,255,.85);font-size:14px;}

/* Single listing */
.esy-single{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin:24px 0 48px;}
@media (max-width:820px){.esy-single{grid-template-columns:1fr;}}
.esy-gallery-main{border-radius:var(--esy-radius);overflow:hidden;border:1px solid var(--esy-border);}
.esy-gallery-thumbs{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;}
.esy-gallery-thumbs img{width:70px;height:70px;object-fit:cover;border-radius:6px;border:1px solid var(--esy-border);cursor:pointer;}
.esy-price-box{background:var(--esy-card);border:1px solid var(--esy-border);border-radius:var(--esy-radius);padding:18px;}
.esy-price-box .price{font-size:26px;font-weight:800;color:var(--esy-primary);}
.esy-spec-table{width:100%;border-collapse:collapse;margin-top:16px;}
.esy-spec-table td{padding:8px 4px;border-bottom:1px solid var(--esy-border);font-size:14px;}
.esy-spec-table td:first-child{color:var(--esy-muted);width:45%;}
.esy-contact-box{margin-top:16px;background:#eef7f2;border-radius:var(--esy-radius);padding:14px;}

/* Submit form */
.esy-form{max-width:720px;margin:24px auto;background:var(--esy-card);padding:24px;border-radius:var(--esy-radius);border:1px solid var(--esy-border);}
.esy-form label{display:block;font-weight:600;margin:14px 0 6px;font-size:14px;}
.esy-form input[type=text],.esy-form input[type=number],.esy-form input[type=email],.esy-form input[type=tel],.esy-form select,.esy-form textarea{
  width:100%;padding:10px;border:1px solid var(--esy-border);border-radius:6px;font-size:14px;
}
.esy-form textarea{min-height:120px;}
.esy-cat-radio label{display:inline-block;margin-right:14px;font-weight:500;}
.esy-conditional{display:none;border-left:3px solid var(--esy-primary);padding-left:14px;margin-top:10px;}
.esy-conditional.active{display:block;}
.esy-notice{padding:12px 16px;border-radius:8px;margin:16px 0;font-size:14px;}
.esy-notice.success{background:#e6f6ee;color:#0a4f39;}
.esy-notice.error{background:#fdeaea;color:#8a1f1f;}

/* Footer */
.esy-footer{background:#0e1f19;color:#c9d6d0;margin-top:48px;padding:32px 0;font-size:14px;}
.esy-footer a{color:#fff;}

.esy-discount-tag{display:inline-block;background:#fff3e6;color:var(--esy-accent);border:1px solid var(--esy-accent);padding:2px 8px;border-radius:5px;font-size:11px;font-weight:700;}

/* Category archive: subcategory chips + filter sidebar */
@media (max-width:760px){
  .esy-container > div[style*="grid-template-columns:220px"]{grid-template-columns:1fr !important;}
}
.esy-form select{margin-bottom:4px;}

/* Login / Sign Up page */
.esy-auth-wrap{max-width:460px;margin:40px auto;}
.esy-muted{color:var(--esy-muted);font-size:14px;margin:0 0 18px;}
.esy-auth-card{background:var(--esy-card);border:1px solid var(--esy-border);border-radius:var(--esy-radius);padding:0;overflow:hidden;box-shadow:0 10px 30px rgba(15,109,79,.08);}
.esy-auth-tabs{display:flex;border-bottom:1px solid var(--esy-border);}
.esy-auth-tab{flex:1;padding:16px;border:none;background:#fafcfb;color:var(--esy-muted);font-weight:700;font-size:15px;cursor:pointer;transition:.15s;}
.esy-auth-tab.active{background:var(--esy-card);color:var(--esy-primary);box-shadow:inset 0 -2px 0 var(--esy-primary);}
.esy-auth-tab:hover{color:var(--esy-primary-dark);}
.esy-auth-panel{display:none;padding:28px 28px 32px;}
.esy-auth-panel.active{display:block;}
.esy-auth-panel h1{margin:0 0 4px;font-size:22px;}
.esy-checkbox-label{display:flex;align-items:center;gap:8px;font-weight:500;font-size:13px;margin-top:14px;color:var(--esy-muted);}
.esy-checkbox-label input{width:auto;}
.esy-btn-outline-dark{background:transparent;border:1px solid var(--esy-border);color:var(--esy-text);}
.esy-btn-outline-dark:hover{background:var(--esy-bg);color:var(--esy-text);}

.esy-account-card{background:var(--esy-card);border:1px solid var(--esy-border);border-radius:var(--esy-radius);padding:36px 28px;text-align:center;box-shadow:0 10px 30px rgba(15,109,79,.08);}
.esy-account-avatar img{border-radius:50%;margin:0 auto 14px;}
.esy-account-card h1{margin:0 0 2px;font-size:22px;}
.esy-account-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:22px;}
