/* ==========================================================================
   Plugin Tuyển Dụng — Frontend (ptd-frontend.css)
   Prefix: .ptd- · Wrapper: .ptd-jobs / .ptd-tracuu
   Không xung đột Flatsome theme — đã reset outline + nuclear form
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* ── DESIGN TOKENS ─────────────────────────────────────────── */
.ptd-jobs,
.ptd-tracuu{
  --ptd-red:       #d2232a;
  --ptd-red-dark:  #a51b21;
  --ptd-red-soft:  #fdecec;
  --ptd-red-bg:    #fef5f5;
  --ptd-navy:      #0b1d3a;
  --ptd-navy-2:    #1a2b4a;
  --ptd-yellow:    #ffd34d;
  --ptd-green:     #16a34a;
  --ptd-green-soft:#dcfce7;
  --ptd-orange:    #f59e0b;
  --ptd-orange-soft:#fef3c7;
  --ptd-blue:      #2563eb;
  --ptd-blue-soft: #dbeafe;
  --ptd-gray:      #5a6479;
  --ptd-gray-2:    #8b94a8;
  --ptd-text:      #2a3447;
  --ptd-border:    #e8ebf2;
  --ptd-border-2:  #f1f3f8;
  --ptd-bg:        #ffffff;
  --ptd-bg-soft:   #f9fafc;
  --ptd-radius:    12px;
  --ptd-radius-lg: 18px;
  --ptd-radius-sm: 8px;
  --ptd-shadow:    0 4px 14px rgba(11, 29, 58, .08);
  --ptd-shadow-md: 0 12px 28px rgba(11, 29, 58, .10);
  --ptd-shadow-lg: 0 24px 48px rgba(11, 29, 58, .14);
  --ptd-ease:      cubic-bezier(.4, 0, .2, 1);

  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:var(--ptd-text);
  line-height:1.65;
  font-size:15px;
}

/* ⚡ Force Inter cho mọi text element — override Flatsome theme (Lato) */
.ptd-jobs,
.ptd-jobs h1,.ptd-jobs h2,.ptd-jobs h3,.ptd-jobs h4,.ptd-jobs h5,.ptd-jobs h6,
.ptd-jobs p,.ptd-jobs span,.ptd-jobs a,.ptd-jobs button,.ptd-jobs strong,
.ptd-jobs em,.ptd-jobs small,.ptd-jobs li,.ptd-jobs label,
.ptd-jobs input,.ptd-jobs select,.ptd-jobs textarea,
.ptd-tracuu,
.ptd-tracuu h1,.ptd-tracuu h2,.ptd-tracuu h3,.ptd-tracuu h4,
.ptd-tracuu p,.ptd-tracuu span,.ptd-tracuu a,.ptd-tracuu button,.ptd-tracuu strong,
.ptd-tracuu input,.ptd-tracuu label{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

.ptd-jobs *,.ptd-jobs *::before,.ptd-jobs *::after,
.ptd-tracuu *,.ptd-tracuu *::before,.ptd-tracuu *::after{ box-sizing:border-box; }

.ptd-jobs h1,.ptd-jobs h2,.ptd-jobs h3,.ptd-jobs h4,
.ptd-tracuu h1,.ptd-tracuu h2,.ptd-tracuu h3{ margin:0; padding:0; }
.ptd-jobs p,.ptd-jobs ul,.ptd-jobs ol,
.ptd-tracuu p,.ptd-tracuu ul{ margin:0; padding:0; }
.ptd-jobs ul,.ptd-jobs ol,.ptd-tracuu ul{ list-style:none; }

/* ⚡ KILL viền đỏ đứt nét từ Flatsome (focus/active outline mặc định) */
.ptd-jobs a,.ptd-jobs button,.ptd-jobs details,.ptd-jobs summary,
.ptd-tracuu a,.ptd-tracuu button,
.ptd-jobs a:focus,.ptd-jobs a:active,.ptd-jobs a:hover,
.ptd-jobs button:focus,.ptd-jobs button:active,.ptd-jobs button:hover,
.ptd-jobs *:focus,.ptd-jobs *:focus-within,
.ptd-tracuu a:focus,.ptd-tracuu button:focus,
.ptd-tracuu *:focus,.ptd-tracuu *:focus-within{
  outline:none !important;
  outline-offset:0 !important;
  -webkit-tap-highlight-color:transparent;
}
.ptd-jobs a:focus,.ptd-jobs button:focus,
.ptd-tracuu a:focus,.ptd-tracuu button:focus{
  box-shadow:none !important;
}

/* ============================================================
   CONTAINER & HEADER
   ============================================================ */
.ptd-jobs{
  max-width:1200px;
  margin:0 auto;
  padding:30px 20px 60px;
}

.ptd-header{
  margin-bottom:28px;
}
.ptd-header__title{
  font-size:clamp(24px, 3vw, 32px) !important;
  font-weight:900 !important;
  color:var(--ptd-navy);
  line-height:1.18 !important;
  letter-spacing:-.02em;
  margin:0 0 8px !important;
}
.ptd-header__sub{
  font-size:.96rem;
  color:var(--ptd-gray);
  margin:0;
}

/* ============================================================
   FILTER PILLS
   ============================================================ */
.ptd-filter{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:14px 16px;
  background:#fff;
  border:1px solid var(--ptd-border);
  border-radius:var(--ptd-radius);
  margin-bottom:24px;
  box-shadow:var(--ptd-shadow);
}
.ptd-filter__label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.85rem;
  font-weight:700;
  color:var(--ptd-navy);
  margin-right:6px;
  padding-right:12px;
  border-right:1px solid var(--ptd-border);
}
.ptd-filter__label i{
  color:var(--ptd-red);
  font-size:.95rem;
}
.ptd-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 16px;
  font-size:.88rem;
  font-weight:600;
  color:var(--ptd-gray);
  background:#fff;
  border:1.5px solid var(--ptd-border);
  border-radius:99px;
  cursor:pointer;
  text-decoration:none !important;
  transition:all .25s var(--ptd-ease);
  white-space:nowrap;
}
.ptd-pill:hover{
  border-color:var(--ptd-red);
  color:var(--ptd-red);
  transform:translateY(-1px);
}
.ptd-pill--active{
  background:var(--ptd-red);
  color:#fff !important;
  border-color:var(--ptd-red);
  box-shadow:0 4px 12px rgba(210,35,42,.25);
}
.ptd-pill--active:hover{
  background:var(--ptd-red-dark);
  color:#fff;
  border-color:var(--ptd-red-dark);
}
.ptd-pill__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 6px;
  font-size:.72rem;
  font-weight:800;
  background:rgba(255,255,255,.25);
  border-radius:99px;
}
.ptd-pill:not(.ptd-pill--active) .ptd-pill__count{
  background:var(--ptd-border-2);
  color:var(--ptd-gray);
}

.ptd-result-count{
  margin-left:auto;
  font-size:.85rem;
  color:var(--ptd-gray);
}
.ptd-result-count strong{
  color:var(--ptd-navy);
  font-weight:800 !important;
}

/* ============================================================
   JOB CARDS GRID
   ============================================================ */
.ptd-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
  margin-bottom:40px;
}

.ptd-card{
  background:#fff;
  border:1px solid var(--ptd-border);
  border-radius:var(--ptd-radius);
  overflow:hidden;
  transition:transform .25s var(--ptd-ease), box-shadow .25s, border-color .25s;
  position:relative;
}
.ptd-card:hover{
  transform:translateY(-3px);
  border-color:var(--ptd-red);
  box-shadow:0 14px 32px rgba(210,35,42,.10);
}
.ptd-card::before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:4px;
  height:100%;
  background:linear-gradient(180deg, var(--ptd-red) 0%, var(--ptd-red-dark) 100%);
  opacity:0;
  transition:opacity .25s;
}
.ptd-card:hover::before{ opacity:1; }

.ptd-card__head{
  padding:22px 26px 16px;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
}
.ptd-card__title{
  font-size:1.18rem !important;
  font-weight:800 !important;
  color:var(--ptd-navy) !important;
  line-height:1.3 !important;
  margin:0 0 8px !important;
}
.ptd-card__branch{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.88rem;
  color:var(--ptd-gray);
  margin:0;
}
.ptd-card__branch i{
  color:var(--ptd-red);
  font-size:.95rem;
}
.ptd-card__branch a{
  color:inherit !important;
  text-decoration:none !important;
  border-bottom:1px dashed transparent;
  transition:border-color .2s;
}
.ptd-card__branch a:hover{
  color:var(--ptd-red) !important;
  border-bottom-color:var(--ptd-red);
}
.ptd-card__tag{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 12px;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  border-radius:99px;
  white-space:nowrap;
  flex-shrink:0;
}
.ptd-card__tag--office{
  background:var(--ptd-blue-soft);
  color:var(--ptd-blue);
}
.ptd-card__tag--branch{
  background:var(--ptd-green-soft);
  color:var(--ptd-green);
}
.ptd-card__tag i{ font-size:.65rem; }

.ptd-card__meta{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  padding:0 26px 18px;
}
.ptd-card__meta-item{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  background:var(--ptd-bg-soft);
  border:1px solid var(--ptd-border-2);
  border-radius:var(--ptd-radius-sm);
  font-size:.85rem;
  color:var(--ptd-text);
}
.ptd-card__meta-item i{
  flex-shrink:0;
  color:var(--ptd-red);
  font-size:.95rem;
  width:18px;
  text-align:center;
}
.ptd-card__meta-item strong{
  font-weight:700 !important;
  color:var(--ptd-navy);
}

.ptd-card__desc{
  padding:0 26px;
  max-height:0;
  overflow:hidden;
  transition:max-height .45s var(--ptd-ease), padding-top .35s, padding-bottom .35s, opacity .35s;
  opacity:0;
}
.ptd-card__desc.is-open{
  padding:18px 26px 18px;
  max-height:2000px;
  opacity:1;
  border-top:1px dashed var(--ptd-border);
}
.ptd-card__desc-inner{
  font-size:.92rem;
  color:var(--ptd-text);
  line-height:1.75;
}
.ptd-card__desc-inner p{
  margin:0 0 10px !important;
}
.ptd-card__desc-inner h3,.ptd-card__desc-inner h4{
  font-size:1rem !important;
  font-weight:800 !important;
  color:var(--ptd-navy);
  margin:14px 0 8px !important;
}
.ptd-card__desc-inner ul{
  margin:6px 0 14px !important;
  padding-left:0 !important;
  list-style:none !important;
}
.ptd-card__desc-inner ul li{
  position:relative;
  padding-left:22px;
  margin:6px 0;
  line-height:1.7;
}
.ptd-card__desc-inner ul li::before{
  content:"";
  position:absolute;
  left:6px; top:11px;
  width:6px; height:6px;
  background:var(--ptd-red);
  border-radius:50%;
}
.ptd-card__desc-inner strong{
  color:var(--ptd-navy);
  font-weight:700 !important;
}

.ptd-card__foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 26px 20px;
  border-top:1px solid var(--ptd-border-2);
  background:linear-gradient(180deg, transparent 0%, var(--ptd-bg-soft) 100%);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.ptd-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 22px !important;
  font-size:.9rem !important;
  font-weight:700 !important;
  border-radius:var(--ptd-radius-sm) !important;
  border:1.5px solid transparent !important;
  text-decoration:none !important;
  cursor:pointer;
  transition:all .25s var(--ptd-ease) !important;
  line-height:1.2 !important;
  white-space:nowrap;
}
.ptd-btn:disabled{
  opacity:.6;
  cursor:not-allowed;
}
.ptd-btn--primary{
  background:var(--ptd-red) !important;
  color:#fff !important;
  box-shadow:0 4px 14px rgba(210,35,42,.30);
}
.ptd-btn--primary:hover:not(:disabled){
  background:var(--ptd-red-dark) !important;
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(210,35,42,.40);
}
.ptd-btn--ghost{
  background:#fff !important;
  color:var(--ptd-navy) !important;
  border-color:var(--ptd-border) !important;
}
.ptd-btn--ghost:hover:not(:disabled){
  border-color:var(--ptd-red) !important;
  color:var(--ptd-red) !important;
}
.ptd-btn--ghost.is-open i{
  transform:rotate(180deg);
}
.ptd-btn--ghost i{
  transition:transform .3s var(--ptd-ease);
}
.ptd-btn--block{
  width:100%;
}

.ptd-spinner{
  display:inline-block;
  width:14px; height:14px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:ptd-spin .8s linear infinite;
}
@keyframes ptd-spin{
  to{ transform:rotate(360deg); }
}

/* ============================================================
   EMPTY STATE
   ============================================================ */
.ptd-empty{
  background:#fff;
  border:1px dashed var(--ptd-border);
  border-radius:var(--ptd-radius);
  padding:50px 30px;
  text-align:center;
  margin-bottom:30px;
}
.ptd-empty i{
  font-size:2.5rem;
  color:var(--ptd-gray-2);
  margin-bottom:14px;
  display:block;
}
.ptd-empty p{
  font-size:1rem;
  color:var(--ptd-gray);
  margin:0;
}

/* ============================================================
   FORMS SECTION (Apply + Lookup)
   ============================================================ */
.ptd-forms{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:40px;
}

.ptd-formbox{
  background:#fff;
  border:1px solid var(--ptd-border);
  border-radius:var(--ptd-radius-lg);
  box-shadow:var(--ptd-shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.ptd-formbox__head{
  padding:22px 26px;
  background:linear-gradient(135deg, var(--ptd-navy) 0%, var(--ptd-navy-2) 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.ptd-formbox--apply .ptd-formbox__head{
  background:linear-gradient(135deg, var(--ptd-red) 0%, var(--ptd-red-dark) 100%);
}
.ptd-formbox__head::before{
  content:"";
  position:absolute;
  top:-30px; right:-30px;
  width:140px; height:140px;
  background:rgba(255,255,255,.08);
  border-radius:50%;
}
.ptd-formbox__head::after{
  content:"";
  position:absolute;
  bottom:-50px; right:30px;
  width:90px; height:90px;
  background:rgba(255,255,255,.06);
  border-radius:50%;
}
.ptd-formbox__head h2{
  position:relative;
  z-index:1;
  font-size:1.25rem !important;
  font-weight:800 !important;
  color:#fff !important;
  margin:0 !important;
  display:flex;
  align-items:center;
  gap:10px;
}
.ptd-formbox__head h2 i{ font-size:1.1rem; }
.ptd-formbox__head p{
  position:relative;
  z-index:1;
  font-size:.85rem;
  color:rgba(255,255,255,.85);
  margin:6px 0 0 !important;
}

.ptd-formbox__body{
  padding:26px;
  flex:1;
}

.ptd-formbox__selected{
  margin-bottom:18px;
  padding:14px 16px;
  background:var(--ptd-red-bg);
  border:1px dashed var(--ptd-red);
  border-radius:var(--ptd-radius-sm);
  display:none;
}
.ptd-formbox__selected.is-active{ display:block; }
.ptd-formbox__selected small{
  display:block;
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--ptd-red);
  margin-bottom:4px;
}
.ptd-formbox__selected strong{
  display:block;
  font-size:.95rem;
  font-weight:700 !important;
  color:var(--ptd-navy);
}

.ptd-formbox__empty{
  padding:14px 16px;
  background:var(--ptd-bg-soft);
  border:1px dashed var(--ptd-border);
  border-radius:var(--ptd-radius-sm);
  font-size:.85rem;
  color:var(--ptd-gray);
  text-align:center;
  margin-bottom:18px;
}
.ptd-formbox__empty.is-hidden{ display:none; }
.ptd-formbox__empty i{
  color:var(--ptd-red);
  margin-right:6px;
}

/* Form fields */
.ptd-field{
  margin-bottom:14px;
}
.ptd-label{
  display:block;
  font-size:.85rem;
  font-weight:600;
  color:var(--ptd-navy);
  margin-bottom:6px;
}
.ptd-label .ptd-required{
  color:var(--ptd-red);
  margin-left:2px;
}

.ptd-input,
.ptd-select,
.ptd-textarea{
  display:block;
  width:100%;
  padding:11px 14px !important;
  font-size:.92rem !important;
  font-family:inherit !important;
  color:var(--ptd-text);
  background:#fff !important;
  border:1.5px solid var(--ptd-border) !important;
  border-radius:var(--ptd-radius-sm) !important;
  transition:border-color .2s, box-shadow .2s;
  line-height:1.4;
}
.ptd-input:focus,
.ptd-select:focus,
.ptd-textarea:focus{
  border-color:var(--ptd-red) !important;
  outline:none !important;
  box-shadow:0 0 0 3px rgba(210,35,42,.12) !important;
}
.ptd-input::placeholder,
.ptd-textarea::placeholder{
  color:var(--ptd-gray-2);
}
.ptd-textarea{
  min-height:84px;
  resize:vertical;
}
.ptd-select{
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235a6479' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 14px center !important;
  background-size:10px !important;
  padding-right:34px !important;
}

/* File input - custom styling */
.ptd-file{
  position:relative;
}
.ptd-file input[type="file"]{
  position:absolute;
  left:-9999px;
  opacity:0;
  width:0; height:0;
}
.ptd-file__label{
  display:flex;
  align-items:center;
  gap:12px;
  padding:11px 14px;
  background:#fff;
  border:1.5px dashed var(--ptd-border);
  border-radius:var(--ptd-radius-sm);
  cursor:pointer;
  transition:border-color .2s, background .2s;
  font-size:.88rem;
  color:var(--ptd-gray);
}
.ptd-file__label:hover{
  border-color:var(--ptd-red);
  background:var(--ptd-red-bg);
  color:var(--ptd-red);
}
.ptd-file__label i{
  font-size:1.2rem;
  color:var(--ptd-red);
}
.ptd-file__label strong{
  color:var(--ptd-navy);
  font-weight:700 !important;
}
.ptd-file__label small{
  display:block;
  font-size:.72rem;
  color:var(--ptd-gray-2);
  margin-top:2px;
}
.ptd-file.is-selected .ptd-file__label{
  border-style:solid;
  border-color:var(--ptd-green);
  background:var(--ptd-green-soft);
  color:var(--ptd-green);
}
.ptd-file.is-selected .ptd-file__label i{ color:var(--ptd-green); }
.ptd-file.is-selected .ptd-file__label strong{ color:#15803d; }

/* Submit button row */
.ptd-form-actions{
  margin-top:18px;
}

/* ============================================================
   ALERT MESSAGES
   ============================================================ */
.ptd-alert{
  padding:12px 16px;
  border-radius:var(--ptd-radius-sm);
  font-size:.9rem;
  margin-bottom:16px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  line-height:1.55;
}
.ptd-alert i{
  font-size:1.1rem;
  flex-shrink:0;
  margin-top:1px;
}
.ptd-alert--success{
  background:var(--ptd-green-soft);
  color:#15803d;
  border:1px solid #86efac;
}
.ptd-alert--error{
  background:var(--ptd-red-soft);
  color:#991b1b;
  border:1px solid #fca5a5;
}
.ptd-alert--warning{
  background:var(--ptd-orange-soft);
  color:#92400e;
  border:1px solid #fbbf24;
}
.ptd-alert--info{
  background:var(--ptd-blue-soft);
  color:#1e40af;
  border:1px solid #93c5fd;
}

/* ============================================================
   TRA CUU SHORTCODE (standalone widget)
   ============================================================ */
.ptd-tracuu{
  max-width:680px;
  margin:30px auto;
  padding:0 20px;
}
.ptd-tracuu .ptd-formbox{
  margin:0;
}

/* Tra cuu result card */
.ptd-result{
  padding:22px 24px;
  background:#fff;
  border:1px solid var(--ptd-border);
  border-radius:var(--ptd-radius);
  margin-top:18px;
  box-shadow:var(--ptd-shadow);
  animation:ptd-fade-in .35s ease-out;
}
@keyframes ptd-fade-in{
  from{ opacity:0; transform:translateY(8px); }
  to  { opacity:1; transform:translateY(0); }
}
.ptd-result__title{
  font-size:1.1rem !important;
  font-weight:800 !important;
  color:var(--ptd-navy) !important;
  margin:0 0 6px !important;
  line-height:1.3;
}
.ptd-result__branch{
  font-size:.85rem;
  color:var(--ptd-gray);
  margin:0 0 14px !important;
  display:flex;
  align-items:center;
  gap:6px;
}
.ptd-result__branch i{ color:var(--ptd-red); }

.ptd-result__rows{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 18px;
  padding-top:14px;
  border-top:1px dashed var(--ptd-border);
}
.ptd-result__row{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:.88rem;
}
.ptd-result__row small{
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.8px;
  color:var(--ptd-gray-2);
}
.ptd-result__row strong{
  font-weight:700 !important;
  color:var(--ptd-navy);
}

/* Status badges */
.ptd-status{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  padding:5px 12px;
  font-size:.78rem;
  font-weight:700;
  border-radius:99px;
  width:fit-content;
  line-height:1.3;
}
.ptd-status i{ font-size:.7rem; }
.ptd-status--pending,
.ptd-status--new{
  background:var(--ptd-blue-soft);
  color:var(--ptd-blue);
}
.ptd-status--reviewing{
  background:var(--ptd-orange-soft);
  color:#b45309;
}
.ptd-status--approved{
  background:var(--ptd-green-soft);
  color:#15803d;
}
.ptd-status--rejected{
  background:var(--ptd-red-soft);
  color:#991b1b;
}
.ptd-status--unknown{
  background:var(--ptd-border-2);
  color:var(--ptd-gray);
}

/* Loading state in result container */
.ptd-loading{
  padding:24px;
  text-align:center;
  color:var(--ptd-gray);
  font-size:.9rem;
}
.ptd-loading .ptd-spinner{
  border-color:rgba(210,35,42,.2);
  border-top-color:var(--ptd-red);
  width:24px; height:24px;
  border-width:3px;
  margin:0 auto 10px;
  display:block;
}

/* ============================================================
   TOAST NOTIFICATION
   ============================================================ */
.ptd-toast{
  position:fixed;
  top:20px; right:20px;
  z-index:99999;
  min-width:300px;
  max-width:420px;
  padding:14px 18px;
  background:#fff;
  border-radius:var(--ptd-radius);
  box-shadow:0 20px 40px rgba(11,29,58,.18);
  border-left:4px solid var(--ptd-red);
  display:flex;
  align-items:flex-start;
  gap:12px;
  opacity:0;
  transform:translateX(40px);
  transition:opacity .3s var(--ptd-ease), transform .3s var(--ptd-ease);
  font-family:'Inter',sans-serif !important;
  font-size:.92rem;
  line-height:1.55;
  color:var(--ptd-text);
}
.ptd-toast.is-shown{
  opacity:1;
  transform:translateX(0);
}
.ptd-toast--success{ border-left-color:var(--ptd-green); }
.ptd-toast--error{ border-left-color:var(--ptd-red); }
.ptd-toast--warning{ border-left-color:var(--ptd-orange); }
.ptd-toast__icon{
  flex-shrink:0;
  font-size:1.3rem;
  margin-top:1px;
}
.ptd-toast--success .ptd-toast__icon{ color:var(--ptd-green); }
.ptd-toast--error .ptd-toast__icon{ color:var(--ptd-red); }
.ptd-toast--warning .ptd-toast__icon{ color:var(--ptd-orange); }
.ptd-toast__body{ flex:1; }
.ptd-toast__title{
  display:block;
  font-weight:700 !important;
  color:var(--ptd-navy);
  margin-bottom:2px;
  font-size:.95rem;
}
.ptd-toast__close{
  flex-shrink:0;
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  cursor:pointer;
  font-size:1rem;
  color:var(--ptd-gray-2);
  line-height:1;
}
.ptd-toast__close:hover{ color:var(--ptd-navy); }

/* ============================================================
   PAGINATION
   ============================================================ */
.ptd-pagination{
  display:flex;
  justify-content:center;
  gap:6px;
  margin:30px 0;
  flex-wrap:wrap;
}
.ptd-pagination a,
.ptd-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:38px;
  height:38px;
  padding:0 12px;
  font-size:.88rem;
  font-weight:600;
  color:var(--ptd-navy);
  background:#fff;
  border:1.5px solid var(--ptd-border);
  border-radius:var(--ptd-radius-sm);
  text-decoration:none !important;
  transition:all .2s var(--ptd-ease);
}
.ptd-pagination a:hover{
  border-color:var(--ptd-red);
  color:var(--ptd-red);
}
.ptd-pagination .ptd-pagination__current{
  background:var(--ptd-red);
  color:#fff !important;
  border-color:var(--ptd-red);
}

/* ============================================================
   NUCLEAR RESET FORM PLUGIN (kill viền plugin wrapper)
   ============================================================ */
.ptd-formbox form,
.ptd-formbox fieldset,
.ptd-formbox > div,
.ptd-formbox [class*="form-wrap"],
.ptd-formbox [class*="form-inner"]{
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
.ptd-formbox *:not(input):not(select):not(textarea):not(button):not(.ptd-btn):not(.ptd-file__label){
  border-color:transparent;
}
/* Re-enable border for our designed elements */
.ptd-formbox .ptd-input,
.ptd-formbox .ptd-select,
.ptd-formbox .ptd-textarea{
  border:1.5px solid var(--ptd-border) !important;
}
.ptd-formbox .ptd-file__label{
  border:1.5px dashed var(--ptd-border) !important;
}
.ptd-formbox .ptd-file.is-selected .ptd-file__label{
  border-color:var(--ptd-green) !important;
  border-style:solid !important;
}

/* ============================================================
   RESPONSIVE — TABLET (≤ 960px)
   ============================================================ */
@media (max-width: 960px){
  .ptd-jobs{ padding:24px 16px 50px; }
  .ptd-card__meta{ grid-template-columns:1fr 1fr; }
  .ptd-forms{ grid-template-columns:1fr; gap:18px; }
  .ptd-card__head{ flex-direction:column; gap:10px; }
  .ptd-card__tag{ align-self:flex-start; }
}

/* ============================================================
   RESPONSIVE — MOBILE (≤ 580px)
   ============================================================ */
@media (max-width: 580px){
  .ptd-jobs{ padding:20px 14px 40px; }
  .ptd-filter{ padding:12px; }
  .ptd-filter__label{
    width:100%;
    border-right:none;
    padding-right:0;
    padding-bottom:8px;
    border-bottom:1px solid var(--ptd-border);
    margin-bottom:4px;
    margin-right:0;
  }
  .ptd-result-count{
    width:100%;
    margin-left:0;
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid var(--ptd-border);
  }
  .ptd-card__head{ padding:18px 18px 14px; }
  .ptd-card__meta{ grid-template-columns:1fr; padding:0 18px 14px; }
  .ptd-card__desc.is-open{ padding:14px 18px; }
  .ptd-card__foot{ flex-direction:column; padding:14px 18px 18px; }
  .ptd-card__foot .ptd-btn{ width:100%; }
  .ptd-formbox__body{ padding:20px; }
  .ptd-formbox__head{ padding:18px 20px; }
  .ptd-result__rows{ grid-template-columns:1fr; }
  .ptd-toast{
    left:14px; right:14px;
    min-width:auto;
    max-width:none;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce){
  .ptd-jobs *,.ptd-jobs *::before,.ptd-jobs *::after,
  .ptd-tracuu *,.ptd-tracuu *::before,.ptd-tracuu *::after{
    animation:none !important;
    transition:none !important;
  }
}
