/*
Theme Name: JList
Theme URI: https://jlist.net
Author: Pingal Media Innovations Private Limited
Description: Lean, fast, mobile-first classifieds theme for JList (Jamshedpur). Built on WP Job Manager. Bilingual English/Hindi.
Version: 1.0.6
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: jlist
License: Proprietary
*/

:root{
  --red:#b8232f; --red-d:#8e1a24; --red-l:#fbeaec;
  --ink:#121212; --muted:#6a6a6a; --line:#e7e7e4; --soft:#f6f5f2; --bg:#fff;
  --r:14px; --shadow:0 1px 2px rgba(0,0,0,.06),0 6px 18px rgba(0,0,0,.06);
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari","Nirmala UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:17px;line-height:1.55;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(22px,3.4vw,30px);font-weight:800}
h3{font-size:18px;font-weight:700}
.jl-wrap{max-width:1160px;margin:0 auto;padding:0 18px}
.jl-main{min-height:60vh;padding-bottom:40px}
.screen-reader-text{position:absolute;left:-9999px}

/* bilingual labels */
.bi{display:inline-flex;flex-direction:column;line-height:1.15;text-align:inherit}
.bi .hi{font-size:.82em;font-weight:500;opacity:.85}
.bi--row{flex-direction:row;gap:.5em;align-items:baseline}

/* buttons */
.jl-btn,.button,button.button,input[type=submit],.woocommerce a.button,.woocommerce button.button,.job-manager-form input[type=submit],.job_filters .button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:48px;padding:10px 24px;border-radius:999px;border:0;
  background:var(--red);color:#fff;font:700 16px/1.2 var(--font);cursor:pointer;text-decoration:none;transition:background .15s}
.jl-btn:hover,.button:hover,input[type=submit]:hover{background:var(--red-d);color:#fff;text-decoration:none}
.jl-btn--dark{background:#111}.jl-btn--dark:hover{background:#333}
.jl-btn--light{background:#fff;color:var(--red)}.jl-btn--light:hover{background:var(--red-l);color:var(--red-d)}
.jl-btn--ghost{background:transparent;color:var(--ink);border:2px solid var(--line)}.jl-btn--ghost:hover{background:var(--soft);color:var(--ink)}
.jl-btn--wa{background:#1f9d55}.jl-btn--wa:hover{background:#17803f}
.jl-btn--block{width:100%}

/* header */
.jl-header{position:sticky;top:0;z-index:50;background:var(--red);color:#fff}
.admin-bar .jl-header{top:32px}
.jl-header__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.jl-logo{display:inline-flex;align-items:center;line-height:0}
.jl-logo img{height:38px;width:auto;display:block}
.jl-logo:hover{text-decoration:none;color:#fff}
.jl-nav{display:flex;align-items:center;gap:22px}
.jl-nav a{color:#fff;font-weight:700;font-size:15px}
.jl-nav a.jl-btn{min-height:44px;padding:8px 20px}
.jl-cats{background:#fff;border-bottom:1px solid var(--line)}
.jl-cats .jl-wrap{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:8px;padding-bottom:8px}
.jl-cats a{flex:none;color:var(--ink);font-weight:600;font-size:14px;padding:8px 14px;border-radius:999px;white-space:nowrap}
.jl-cats a:hover{background:var(--soft);text-decoration:none}

/* bottom tab bar (mobile) */
.jl-tabs{display:none}

/* hero */
.jl-hero{text-align:center;padding:clamp(40px,9vw,96px) 0 28px}
.jl-hero h1 .bi{align-items:center}
.jl-hero h1 .hi{color:var(--red);font-size:.72em}
.jl-hero__tag{margin:10px 0 26px;color:var(--ink);font-weight:700}
.jl-hero__tag .hi{color:var(--muted);font-weight:500}
.jl-search{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.jl-search input[type=search],.jl-search input[type=text]{width:100%;height:60px;border:2px solid #d9d9d5;border-radius:999px;padding:0 26px;font:500 18px var(--font);outline:0;background:#fff}
.jl-search input:focus{border-color:var(--red);box-shadow:0 0 0 4px var(--red-l)}
.jl-search__btns{display:flex;gap:12px;justify-content:center}
.jl-search__btns .jl-btn{min-width:150px;min-height:56px;font-size:18px}

/* sections */
.jl-section{padding:30px 0}
.jl-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}
.jl-section__head h2{margin:0}
.jl-grid-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.jl-cat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:22px 10px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);font-weight:700;transition:.15s}
.jl-cat:hover{border-color:var(--red);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}
.jl-cat__ico{font-size:34px;line-height:1}
.jl-cat .hi{font-size:13px;font-weight:500;color:var(--muted)}
.jl-cat .bi{align-items:center}

/* cards */
.jl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
ul.job_listings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
ul.job_listings li.job_listing{margin:0;padding:0;border:0;background:none}
.jl-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:.15s}
.jl-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.jl-card__img{display:block;aspect-ratio:4/3;background:var(--soft);overflow:hidden}
.jl-card__img img{width:100%;height:100%;object-fit:cover}
.jl-card__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,var(--red-l),#fff)}
.jl-card__body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px}
.jl-card__price{font-size:20px;font-weight:800;color:var(--ink)}
.jl-card__title{margin:0;font-size:16px;font-weight:600;line-height:1.3}
.jl-card__title a{color:var(--ink)}
.jl-card__meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:13px;color:var(--muted)}
.jl-badge{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px}
.jl-empty{text-align:center;padding:40px 18px;border:2px dashed var(--line);border-radius:var(--r);color:var(--muted)}

/* page / archive heads */
.jl-pagehead{padding:34px 0 10px}
.jl-pagehead h1{margin:0;font-size:clamp(26px,4vw,38px)}
.jl-pagehead h1 .hi,.jl-pagehead .hi-line{display:block;font-size:.6em;color:var(--red);font-weight:700;margin-top:4px}
.jl-content{max-width:820px}
.jl-content.is-wide{max-width:none}
.jl-content p,.jl-content li{font-size:17px}

/* filters */
.job_filters{margin:6px 0 20px}
.job_filters .search_jobs{display:grid;grid-template-columns:2fr 1.2fr 1.2fr auto;gap:10px;align-items:end;background:var(--soft);padding:14px;border-radius:var(--r)}
.job_filters label{display:block;font-size:13px;font-weight:700;margin:0 0 4px;color:var(--muted)}
.job_filters input[type=text],.job_filters select,.job-manager-form input[type=text],.job-manager-form input[type=tel],.job-manager-form input[type=email],.job-manager-form textarea,.job-manager-form select,.woocommerce form .input-text{
  width:100%;min-height:50px;padding:10px 14px;border:1.5px solid #d6d6d2;border-radius:12px;font:500 16px var(--font);background:#fff;color:var(--ink)}
.job_filters input:focus,.job_filters select:focus,.job-manager-form :focus{border-color:var(--red);outline:0;box-shadow:0 0 0 3px var(--red-l)}
.job_filters .showing_jobs,.job_filters .rss_link,.job_filters .search_jobs .showing_jobs{display:none}
.showing_jobs{margin:0 0 14px;font-size:14px;color:var(--muted)}
.load_more_jobs{display:block;text-align:center;margin:24px auto 0;padding:12px 28px;border-radius:999px;border:2px solid var(--red);font-weight:700}
.job_listings .no_job_listings_found{grid-column:1/-1;list-style:none}
.job_listings .loading{opacity:.5}

/* single listing */
.jl-crumbs{font-size:14px;color:var(--muted);padding:18px 0 6px}
.jl-crumbs a{color:var(--muted)}
.jl-single{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start;padding-top:8px}
.jl-photo{border-radius:var(--r);overflow:hidden;background:var(--soft);aspect-ratio:4/3;margin-bottom:18px}
.jl-photo img{width:100%;height:100%;object-fit:contain;background:#000}
.jl-photo .jl-card__ph{font-size:90px}
.jl-single h1{font-size:clamp(24px,3.6vw,32px);margin:4px 0 6px}
.jl-facts{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:14px;margin-bottom:18px}
.jl-desc{font-size:17px;line-height:1.7}
.jl-box{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:#fff;box-shadow:var(--shadow);position:sticky;top:90px}
.jl-box__price{font-size:32px;font-weight:900;margin-bottom:4px}
.jl-box__loc{color:var(--muted);margin-bottom:16px}
.jl-box .jl-btn{margin-bottom:10px}
.jl-box__links{display:flex;justify-content:space-between;font-size:14px;margin-top:6px}
.jl-safety{margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--soft);font-size:14px;color:#444}
.jl-safety strong{display:block;margin-bottom:4px}
.jl-sticky-actions{display:none}

/* forms (submit, dashboard, account) */
.job-manager-form fieldset{border:0;margin:0 0 18px;padding:0}
.job-manager-form label{display:block;font-weight:700;margin-bottom:6px;font-size:15px}
.job-manager-form small.description,.job-manager-form .description{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.job-manager-form textarea{min-height:150px}
.job-manager-form .required-field-notice,.job-manager-form .tips{display:none}
.job-manager-form{max-width:680px}
table.job-manager-jobs{width:100%;border-collapse:collapse}
table.job-manager-jobs th,table.job-manager-jobs td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:15px}
.job-manager-message,.job-manager-error,.woocommerce-message,.woocommerce-error,.woocommerce-info{padding:14px 18px;border-radius:12px;background:var(--soft);border-left:4px solid var(--red);margin:0 0 18px;list-style:none}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap}
.woocommerce-MyAccount-navigation a{display:block;padding:8px 14px;border-radius:999px;background:var(--soft);color:var(--ink);font-weight:600;font-size:14px}
.woocommerce-MyAccount-navigation .is-active a{background:var(--red);color:#fff}

/* cta + footer */
.jl-cta{background:var(--red);color:#fff;border-radius:var(--r);padding:34px 20px;text-align:center;margin:30px 0}
.jl-cta h2{margin-bottom:6px}.jl-cta p{margin:0 0 18px;opacity:.92}
.jl-footer{background:#111;color:#cfcfcf;padding:34px 0 28px;font-size:14px;margin-top:20px}
.jl-footer a{color:#fff}
.jl-footer__links{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:14px}
.jl-footer .hi{opacity:.7}
.pagination,.nav-links{display:flex;gap:8px;justify-content:center;margin:28px 0}
.page-numbers{padding:8px 14px;border-radius:10px;border:1px solid var(--line);color:var(--ink)}
.page-numbers.current{background:var(--red);color:#fff;border-color:var(--red)}

/* ---- overrides for WP Job Manager's bundled CSS ---- */
.jl-nav a.jl-btn--light{color:var(--red)}
.jl-nav a.jl-btn--light:hover{color:var(--red-d);text-decoration:none}
.job_filters .search_jobs>div{float:none!important;width:auto!important;padding:0!important;margin:0!important;border:0!important;min-width:0}
.job_filters .search_jobs label{display:block!important}
.job_filters .search_jobs input[type=text]{width:100%!important;height:50px;padding:10px 14px!important;border:1.5px solid #d6d6d2!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
.job_filters .search_jobs select{width:100%;height:50px;padding:0 12px;border:1.5px solid #d6d6d2;border-radius:12px;background:#fff}
.job_filters .search_jobs .search_submit .jl-btn{width:100%;height:50px}
.job_filters .job_types,.job_filters ul.job_types,.job_filters .filter_by_tag,.job_filters .showing_jobs{display:none!important}
.job_filters .search_jobs{border:0!important;box-shadow:none!important}
ul.job_listings{border:0!important;box-shadow:none!important;background:none!important}
ul.job_listings li.job_listing{display:block!important;border:0!important;padding:0!important;margin:0!important;overflow:visible!important;background:none!important}
ul.job_listings li.job_listing a{display:inline;padding:0!important;overflow:visible!important}
ul.job_listings li.job_listing a.jl-card__img{display:block}
ul.job_listings li.job_listing:hover{background:none!important}
ul.job_listings li.job_listing .jl-card__title a{display:inline;font-weight:600}
.jl-card__img img{border-radius:0!important;position:static!important;float:none!important;margin:0!important;width:100%!important;max-width:none!important}
.job_filters .jl-btn{box-shadow:none}
/* filter grid: explicit areas, hide any extra WPJM blocks */
.job_filters .search_jobs{grid-template-areas:"k l c s";grid-template-columns:2fr 1.2fr 1.2fr auto}
.job_filters .search_jobs>.search_keywords{grid-area:k}
.job_filters .search_jobs>.search_location{grid-area:l}
.job_filters .search_jobs>.search_categories{grid-area:c}
.job_filters .search_jobs>.search_submit{grid-area:s}
.job_filters .search_jobs>div:not(.search_keywords):not(.search_location):not(.search_categories):not(.search_submit){display:none!important}
/* emoji are swapped for <img> by WordPress: keep them text-sized */
img.emoji{width:1em!important;height:1em!important;display:inline-block!important;vertical-align:-.12em;margin:0 .05em!important;border-radius:0!important}
.jl-card__ph img.emoji,.jl-cat__ico img.emoji{width:1em!important;height:1em!important}
/* posting form: stack label above field */
.job-manager-form fieldset{display:block!important;margin:0 0 18px!important;border:0!important;padding:0!important}
.job-manager-form fieldset label{float:none!important;width:100%!important;max-width:none!important;margin:0 0 6px!important;padding:0!important}
.job-manager-form fieldset .field{float:none!important;width:100%!important;margin:0!important;padding:0!important}
.job-manager-form fieldset label small{font-weight:500;color:var(--muted);margin-left:6px}
.job_filters .search_jobs select,.job_filters .search_jobs .search_categories select{height:50px!important;min-height:50px!important;font-size:16px}
.job_filters .search_jobs .select2-container .select2-selection--single,.job_filters .search_jobs .chosen-container-single .chosen-single{height:50px!important;border:1.5px solid #d6d6d2!important;border-radius:12px!important;line-height:46px!important}
.job-manager-form fieldset:not(.fieldset-job_title)::before{display:none}

/* responsive */
@media (max-width:1000px){
  .jl-grid,ul.job_listings{grid-template-columns:repeat(3,1fr)}
  .jl-single{grid-template-columns:1fr}
  .jl-box{position:static}
  .job_filters .search_jobs{grid-template-columns:1fr 1fr;grid-template-areas:"k k" "l c" "s s"}
}
@media (max-width:700px){
  body{font-size:16px;padding-bottom:66px}
  .admin-bar .jl-header{top:46px}
  .jl-nav a.jl-nav__txt{display:none}
  .jl-header__in{min-height:56px}
  .jl-grid,ul.job_listings{grid-template-columns:repeat(2,1fr);gap:12px}
  .jl-grid-cats{grid-template-columns:repeat(2,1fr);gap:10px}
  .jl-card__price{font-size:18px}.jl-card__title{font-size:15px}
  .job_filters .search_jobs{grid-template-columns:1fr;grid-template-areas:"k" "l" "c" "s"}
  .jl-search input[type=search],.jl-search input[type=text]{height:56px}
  .jl-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}
  .jl-tabs a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:#555;font-size:11px;font-weight:700;text-decoration:none}
  .jl-tabs a svg{width:24px;height:24px}
  .jl-tabs a.is-post{color:#fff}
  .jl-tabs a.is-post span.pill{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--red);margin-top:-22px;box-shadow:0 4px 12px rgba(184,35,47,.45)}
  .single-job_listing{padding-bottom:140px}
  .single-job_listing .jl-tabs{display:none}
  .jl-sticky-actions{display:flex;gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:60;background:#fff;border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .jl-sticky-actions .jl-btn{flex:1;margin:0}
  .jl-box .jl-btn.desk{display:none}
}

/* ---- 1.0.5: login / register, form polish ---- */
.woocommerce-account:not(.logged-in) .u-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.woocommerce-account .u-columns .u-column1,.woocommerce-account .u-columns .u-column2{float:none;width:auto;background:#fff;border:1px solid #e6e6e6;border-radius:14px;padding:20px}
.woocommerce-account .u-columns h2{margin-top:0;font-size:22px}
.woocommerce-form-login .input-text,.woocommerce-form-register .input-text{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d5d5d5;border-radius:10px;font-size:16px}
.woocommerce-form-login .button,.woocommerce-form-register .button{background:var(--red);color:#fff;border:0;border-radius:10px;padding:13px 22px;font-weight:700;font-size:16px;cursor:pointer;width:100%}
.woocommerce-form-login .button:hover,.woocommerce-form-register .button:hover{background:var(--red-d)}
@media(max-width:700px){.woocommerce-account:not(.logged-in) .u-columns{grid-template-columns:1fr}}
.job-manager-form>h2{display:none}
.job-manager-form .field .description{font-size:13px;color:#777}
.job_filters select{line-height:normal}
/* 1.0.6: on wide screens the category chips wrap and centre instead of running off the right edge */
@media(min-width:1000px){.jl-cats .jl-wrap{flex-wrap:wrap;justify-content:center;overflow:visible;gap:4px 6px}.jl-cats a{padding:6px 12px}}
