/*
 Theme Name: Astra Child
 Template: astra
 Version: 1.0.0
*/

/* ==============================
   1) Base variables and typography
============================== */
:root{
  --hj-ink:#0b1f33;
  --hj-muted:#606770;
  --hj-blue:#004080;
  --hj-blue-2:#1f82a9;
  --hj-border:#e6e8ee;
  --hj-card:#ffffff;
  --hj-radius:12px;
  --hj-shadow:0 8px 24px rgba(0,0,0,.08);

  --hj-heading:#0b1f33;
  --hj-text:#0b1f33;
  --hj-accent:#004080;
}

html{ scroll-behavior:smooth; }

/* Site typography */
body,
button,
input,
select,
textarea{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight:400;
  font-size:17px;
  line-height:1.6;
  color:var(--hj-ink);
  background:#fff;
}

h1, h2, h3, h4, h5, h6{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight:600;
  color:#000;
  line-height:1.3;
  margin:.6em 0 .4em;
}
h1{ font-size:36px; }
h2{ font-size:28px; }
h3{ font-size:22px; }

a{ color:var(--hj-blue); text-decoration:none; }
a:hover,
a:focus{
  color:var(--hj-blue-2);
  text-decoration:underline;
}

input::placeholder,
textarea::placeholder{
  color:#8b90a6;
  opacity:1;
}

input,
select,
textarea{
  border-radius:var(--hj-radius);
  background-clip:padding-box;
}

input[type="file"]{
  border-radius:0;
  padding:0;
  height:auto;
  line-height:normal;
}

/* ==============================
   1A) Icon font protection
============================== */
.dashicons,
.dashicons:before,
.dashicons-before:before{
  font-family:dashicons !important;
  font-weight:400 !important;
  font-style:normal !important;
  line-height:1;
}

.mce-ico,
i.mce-ico{
  font-family:tinymce !important;
  speak:none;
  font-style:normal;
  font-weight:normal;
  font-variant:normal;
  text-transform:none;
  line-height:1;
}

.woocommerce .star-rating,
.woocommerce .star-rating:before,
.woocommerce .star-rating span:before{
  font-family:WooCommerce !important;
}

/* ==============================
   Buttons
============================== */
button,
.button,
input[type="submit"],
input[type="button"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.job-manager-button,
.job-manager-form .button,
.job-manager-jobs .button{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight:600;
  background:var(--hj-blue);
  color:#fff;
  border:0;
  border-radius:var(--hj-radius);
  padding:10px 16px;
  text-decoration:none;
  display:inline-block;
  transition:background .2s ease;
}

button:hover,
.button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{
  background:#002b59;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.job-manager-message,
.job-manager-info,
.job-manager-error{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight:400;
}

/* ==============================
   2) Manage Hub layout (page class: manage-hub)
============================== */
.manage-hub .hj-panels{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
@media (max-width:900px){
  .manage-hub .hj-panels{ grid-template-columns:1fr; }
}

.manage-hub .hj-card{
  background:var(--hj-card);
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  padding:20px;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}
.manage-hub .hj-card h2{ margin-top:0; }
.manage-hub .hj-card .button{ margin-top:8px; }

/* ==============================
   3) Job Dashboard tidy (page class: hj-job-dashboard)
============================== */
.hj-job-dashboard .job_listings,
.hj-job-dashboard ul.job_listings{
  list-style:none;
  margin:0;
  padding:0;
}

.hj-job-dashboard .job_listings .job_listing{
  border-radius:var(--hj-radius);
  border:1px solid var(--hj-border);
  background:#fff;
  padding:16px 16px 14px;
  margin-bottom:16px;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
  transition:box-shadow .15s ease, transform .06s ease, border-color .15s ease;
}
.hj-job-dashboard .job_listings .job_listing:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  border-color:#dbe1ea;
}

.hj-job-dashboard .job-manager-jobs td.job_actions > .button,
.hj-job-dashboard .job-manager-jobs td.job_actions > a.button{
  display:none !important;
}

.hj-job-dashboard .job-manager-jobs td.job_applications{
  white-space:normal;
  padding-right:24px;
}

/* ==============================
   4) My Account polish (page class: hj-my-account)
============================== */
.hj-my-account .woocommerce{
  display:flex;
  gap:24px;
  align-items:flex-start;
}
@media (max-width:900px){
  .hj-my-account .woocommerce{ display:block; }
}

.hj-my-account .woocommerce-MyAccount-navigation{
  flex:0 0 260px;
  max-width:260px;
  background:#fff;
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  padding:12px;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}

.hj-my-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:6px;
}

.hj-my-account .woocommerce-MyAccount-navigation li a{
  display:block;
  padding:10px 12px;
  border-radius:10px;
  font-weight:600;
  color:var(--hj-ink);
  text-decoration:none;
  border:1px solid transparent;
  transition:background .15s ease, border-color .15s ease;
}

.hj-my-account .woocommerce-MyAccount-navigation li a:hover{
  background:#f4f6f8;
  border-color:var(--hj-border);
}

.hj-my-account .woocommerce-MyAccount-navigation li.is-active > a{
  background:#eef5ff;
  color:var(--hj-ink);
  font-weight:700;
  border-color:#cfe0f5;
  box-shadow:inset 4px 0 0 var(--hj-blue);
}

.hj-my-account .woocommerce-MyAccount-content{
  background:#fff;
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  padding:20px;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}

.hj-my-account .woocommerce table.shop_table{
  width:100%;
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  overflow:hidden;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
}

.hj-my-account .woocommerce table.shop_table th,
.hj-my-account .woocommerce table.shop_table td{
  padding:12px 14px;
  border-top:1px solid #f0f0f0;
  vertical-align:middle;
}

.hj-my-account .woocommerce table.shop_table th{
  background:#fbfbfb;
  color:var(--hj-ink);
  font-weight:700;
}

/* ==============================
   5) Jobs listings layout and pagination
============================== */
.page .entry-content,
.page .entry-content > *,
.page ul.job_listings{
  max-width:100% !important;
  width:100% !important;
}

ul.job_listings li.job_listing{
  display:block !important;
  width:100% !important;
  clear:both !important;
}

ul.job_listings li.job_listing .location,
ul.job_listings li.job_listing .job-type,
ul.job_listings li.job_listing .meta{
  white-space:nowrap !important;
}

.job_listings nav.job-manager-pagination,
.job_listings .page-numbers{
  display:flex !important;
  justify-content:center;
  gap:.5rem;
}

.home .job_listings .load_more_jobs{
  display:none !important;
}

.job_filters .rss_link,
.job_filters .rss,
.job_filters a[href*="rss"]{
  display:none !important;
}

/* ==============================
   6) Job filters and selects
============================== */
select{
  -webkit-appearance:none;
  appearance:none;
  border-radius:var(--hj-radius);
  background-clip:padding-box;
  overflow:hidden;
}

.job_filters input[type="text"],
.job_filters input[type="search"],
.job_filters input[type="email"],
.job_filters select,
.job_listings select{
  border-radius:var(--hj-radius) !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  background-clip:padding-box !important;
  overflow:hidden !important;
}

.select2-container .select2-selection--single,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--single .select2-selection__rendered{
  border-radius:var(--hj-radius) !important;
  overflow:hidden !important;
}

/* ==============================
   7) Post Job UX
============================== */
#submit-job-form{
  background:#fff;
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  padding:18px;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
}

/* This is the only blunt hammer you said works, keep it scoped */
#submit-job-form,
#submit-job-form *{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

#submit-job-form fieldset{
  border:0;
  padding:0;
  margin:0 0 14px;
}

#submit-job-form label{
  display:block;
  font-weight:600;
  margin:0 0 6px;
  color:var(--hj-ink);
}

#submit-job-form input[type="text"],
#submit-job-form input[type="email"],
#submit-job-form input[type="url"],
#submit-job-form input[type="tel"],
#submit-job-form input[type="number"],
#submit-job-form select,
#submit-job-form textarea{
  width:100%;
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  padding:12px 14px;
  background:#fff;
  box-shadow:none;
}

#submit-job-form textarea{
  min-height:220px;
  resize:vertical;
}

#submit-job-form input:focus,
#submit-job-form select:focus,
#submit-job-form textarea:focus{
  outline:none;
  border-color:#cfe0f5;
  box-shadow:0 0 0 4px rgba(0,64,128,.12);
}

#submit-job-form .job-manager-uploaded-file,
#submit-job-form .job-manager-uploaded-files{
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  padding:12px 14px;
  background:#fbfbfb;
}

#submit-job-form small.description{
  color:var(--hj-muted);
  font-size:14px;
  line-height:1.4;
}

#submit-job-form .optional{
  display:none !important;
}

#submit-job-form .wp-editor-wrap{
  border:1px solid var(--hj-border);
  border-radius:var(--hj-radius);
  overflow:hidden;
  background:#fff;
}

#submit-job-form .quicktags-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:8px 10px;
  background:#fbfbfb;
  border-bottom:1px solid var(--hj-border);
}

#submit-job-form .select2-container{
  width:100% !important;
}

#submit-job-form .select2-container--default .select2-selection--single,
#submit-job-form .select2-container--default .select2-selection--multiple{
  border-radius:var(--hj-radius) !important;
  border:1px solid var(--hj-border) !important;
  min-height:44px;
}

#submit-job-form .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:44px;
  padding-left:14px;
  padding-right:32px;
}

#submit-job-form .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:44px;
  right:10px;
}

#submit-job-form .select2-container--default .select2-selection--multiple{
  padding:6px 10px;
}
#submit-job-form .select2-container--default .select2-selection--multiple .select2-selection__choice{
  border-radius:999px;
  border:1px solid var(--hj-border);
  background:#f4f6f8;
  padding:4px 8px;
  margin:4px 6px 0 0;
}

#submit-job-form .fieldset-job_type select{
  min-height:44px !important;
  line-height:44px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

#submit-job-form .fieldset-job_type ul,
#submit-job-form .fieldset-job_type .job-types{
  list-style:none;
  margin:0;
  padding:0;
}

#submit-job-form .fieldset-job_type li{
  margin:0 0 8px;
}

#submit-job-form .fieldset-job_type input[type="radio"],
#submit-job-form .fieldset-job_type input[type="checkbox"]{
  margin-right:8px;
}

#submit-job-form input[type="submit"],
#submit-job-form .button{
  border-radius:var(--hj-radius);
  padding:12px 18px;
}

/* ==============================
   8) WooCommerce product pages
============================== */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper{
  width:420px !important;
  max-width:420px !important;
}

.single-product .woocommerce-product-gallery img{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
}

.single-product .ppc-button-wrapper,
.single-product .ppcp-button-container,
.single-product .paypal-buttons,
.single-product .paypal-button,
.single-product a[href*="paypal.com"]{
  display:none !important;
}

label[for="recaptcha"]{
  display:none !important;
}

body.woocommerce-account:not(.logged-in) .job-manager-message,
body.woocommerce-account:not(.logged-in) .jm-notice,
body.woocommerce-account:not(.logged-in) .jm-ui-button,
body.woocommerce-account:not(.logged-in) .account-sign-in,
body.woocommerce-account:not(.logged-in) .job-manager-message.account-sign-in,
body.woocommerce-account:not(.logged-in) p.account-sign-in{
  display:none !important;
}

/* ==============================
   9) Job Packages grid colour pass
============================== */
.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:var(--hj-heading) !important;
}
.post-type-archive-product .woocommerce ul.products li.product .price{
  color:var(--hj-accent) !important;
}
.post-type-archive-product .woocommerce ul.products li.product a:not(.button){
  color:var(--hj-text) !important;
}
.post-type-archive-product .woocommerce a.button,
.post-type-archive-product .woocommerce button.button,
.post-type-archive-product .woocommerce input.button{
  background:var(--hj-accent) !important;
  border-color:var(--hj-accent) !important;
  color:#fff !important;
}
.post-type-archive-product .ast-woo-product-category{
  display:none !important;
}

.job_packages{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
}
