.tjpc-single{--tj-wine:#8d2534;--tj-green:#9b1f31;--tj-ink:#231f20;--tj-soft:#f7f3ef;--tj-line:#e7ded8;color:var(--tj-ink);font-family:inherit}.tjpc-single *{box-sizing:border-box}.tjpc-single-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}.tjpc-single-hero{padding:56px 0 42px;background:linear-gradient(135deg,#fff 0%,#faf6f3 100%);border-bottom:1px solid var(--tj-line)}.tjpc-single-kicker,.tjpc-eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tj-wine)}.tjpc-single h1{font-size:clamp(34px,5vw,60px);line-height:1.04;margin:10px 0 18px;max-width:900px}.tjpc-single-facts{display:flex;gap:12px 22px;flex-wrap:wrap;align-items:center;color:#665f5b}.tjpc-status{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f5e4e7;color:var(--tj-wine);font-weight:700}.tjpc-status-vendor{background:#f5e8eb;color:var(--tj-green)}.tjpc-single-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:48px;padding-top:42px;padding-bottom:70px}.tjpc-single-cover{border-radius:22px;overflow:hidden;margin-bottom:34px;background:#eee}.tjpc-single-cover img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover}.tjpc-single-section,.tjpc-single-gallery,.tjpc-single-map,.tjpc-vendor-info{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--tj-line)}.tjpc-single h2{font-size:26px;margin:0 0 18px}.tjpc-content{font-size:17px;line-height:1.75}.tjpc-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.tjpc-gallery-grid a{display:block;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:#eee}.tjpc-gallery-grid img{width:100%;height:100%;object-fit:cover}.tjpc-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.tjpc-info-grid>div,.tjpc-summary-box>div,.tjpc-contact-row{padding:14px 0;border-bottom:1px solid var(--tj-line)}.tjpc-info-grid span,.tjpc-summary-box span,.tjpc-contact-row span{display:block;font-size:13px;color:#766e69;margin-bottom:4px}.tjpc-vendor-info{background:var(--tj-soft);padding:26px;border-radius:20px;border-bottom:0}.tjpc-single-side{align-self:start;position:sticky;top:24px}.tjpc-summary-box,.tjpc-single-contact{border:1px solid var(--tj-line);border-radius:20px;padding:24px;margin-bottom:18px;background:#fff}.tjpc-summary-box h2,.tjpc-single-contact h2{font-size:20px}.tjpc-contact-row a{font-weight:700;color:var(--tj-wine);text-decoration:none}.tjpc-contact-locked{background:var(--tj-soft);padding:16px;border-radius:14px}.tjpc-btn{display:inline-flex;margin-top:10px;padding:11px 16px;border-radius:10px;text-decoration:none;font-weight:700}.tjpc-btn-primary{background:var(--tj-wine);color:#fff}.tjpc-single-map iframe{width:100%;height:360px;border:0;border-radius:18px}.tjpc-vendor-hero-inner{display:flex;gap:24px;align-items:center}.tjpc-vendor-avatar{width:120px;height:120px;border-radius:22px;overflow:hidden;background:#e8f2eb;display:grid;place-items:center;color:var(--tj-green);font-size:48px;font-weight:800;flex:0 0 auto}.tjpc-vendor-avatar img{width:100%;height:100%;object-fit:cover}.tjpc-tag-list{display:flex;gap:8px;flex-wrap:wrap}.tjpc-tag-list span{padding:8px 12px;border-radius:999px;background:#f5e8eb;color:var(--tj-green);font-weight:700;font-size:14px}.tjpc-single-vendor .tjpc-single-kicker,.tjpc-single-vendor .tjpc-eyebrow{color:var(--tj-green)}
@media(max-width:900px){.tjpc-single-layout{grid-template-columns:1fr;gap:20px}.tjpc-single-side{position:static}.tjpc-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.tjpc-single-shell{width:min(100% - 24px,1180px)}.tjpc-single-hero{padding:38px 0 30px}.tjpc-vendor-hero-inner{align-items:flex-start}.tjpc-vendor-avatar{width:82px;height:82px;border-radius:16px}.tjpc-gallery-grid,.tjpc-info-grid{grid-template-columns:1fr}.tjpc-single-layout{padding-top:26px}.tjpc-single h1{font-size:36px}}

/* 0.8.0 – poptávky */
.tjpc-demand-hero{border-top:4px solid #b14f3f}
.tjpc-demand-single .tjpc-single-kicker{color:#8e3e32}
.tjpc-demand-requirements{padding:20px;border:1px solid #eadbd7;border-radius:16px;background:#fff9f7}
.tjpc-related-card{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;border:1px solid #e7e7e7;border-radius:16px;text-decoration:none;color:inherit;background:#fff}
.tjpc-related-card:hover{border-color:#b14f3f}
.tjpc-demand-response-wrap .tjpc-form{margin:0}
.tjpc-demand-note{margin-top:18px}
.tjpc-vendor-attachment{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid #ece2e5;border-radius:14px;background:#fcf8f9;margin:10px 0 14px}
.tjpc-vendor-attachment img{width:72px;height:72px;object-fit:cover;border-radius:12px}
.tjpc-vendor-attachment strong{display:block;margin-bottom:4px}
.tjpc-vendor-attachment a{text-decoration:none}
.tjpc-thread-context{padding:14px 16px;border-radius:14px;background:#f7f7f7;margin:0 0 18px}
@media(max-width:640px){.tjpc-related-card{align-items:flex-start;flex-direction:column}.tjpc-vendor-attachment{grid-template-columns:56px 1fr}.tjpc-vendor-attachment img{width:56px;height:56px}}

.tjpc-demand-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tjpc-demand-details>div{padding:14px 16px;border:1px solid rgba(0,0,0,.09);border-radius:10px}
.tjpc-demand-details span{display:block;font-size:12px;opacity:.65;margin-bottom:4px}
.tjpc-demand-details strong{display:block}
@media(max-width:700px){.tjpc-demand-details{grid-template-columns:1fr}}

.tjpc-single-vendor .tjpc-single-contact{border:1px solid rgba(0,0,0,.09);border-radius:14px;background:#fff}
.tjpc-vendor-online{display:flex;flex-direction:column;gap:8px}
.tjpc-vendor-online h2{margin-bottom:4px}
.tjpc-vendor-online a{display:block;padding:9px 11px;border:1px solid rgba(0,0,0,.09);border-radius:8px;text-decoration:none;font-weight:700}

.tjpc-classified-contact-intro{margin-bottom:10px;padding:14px 16px;border-radius:12px;background:rgba(0,0,0,.035)}
.tjpc-classified-contact-intro p{margin:5px 0 0;font-size:12px;line-height:1.45;opacity:.7}


/* Unified portal typography */
.tjpc-single,
.tjpc-single *{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
}
.tjpc-single h1,
.tjpc-single h2,
.tjpc-single h3,
.tjpc-single h4{
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  letter-spacing:0!important;
}


/* =========================================================
   TJ PORTAL 3.4.3 — unified single detail redesign
   ========================================================= */

.tjpc-single{
  --tjpc-single-bg:#faf8f8;
  --tjpc-single-surface:#fff;
  --tjpc-single-text:#202126;
  --tjpc-single-muted:#6f686b;
  --tjpc-single-line:#e8e2e3;
  --tjpc-single-soft:#f7f1f3;
  --tjpc-single-accent:#9b1f31;
  --tjpc-single-accent-dark:#7d1726;
  --tjpc-single-radius:15px;
  color:var(--tjpc-single-text);
}

.tjpc-single *,
.tjpc-single *::before,
.tjpc-single *::after{
  box-sizing:border-box;
}

.tjpc-single-wrap,
.tjpc-single-shell{
  width:min(1180px,calc(100% - 40px));
  margin-left:auto;
  margin-right:auto;
}

/* Hero */
.tjpc-single-hero{
  margin:0!important;
  padding:34px 0 26px!important;
  border:0!important;
  border-bottom:1px solid var(--tjpc-single-line)!important;
  background:linear-gradient(180deg,#fffafa 0%,#faf7f8 100%)!important;
}

.tjpc-single-hero h1{
  max-width:900px;
  margin:6px 0 12px!important;
  font-size:clamp(30px,4vw,48px)!important;
  line-height:1.08!important;
  font-weight:800!important;
  color:var(--tjpc-single-text)!important;
}

.tjpc-single-kicker,
.tjpc-single-eyebrow{
  display:block;
  margin:0 0 7px!important;
  color:var(--tjpc-single-accent)!important;
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.tjpc-single-facts,
.tjpc-single-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px 18px!important;
  margin:0!important;
  color:var(--tjpc-single-muted)!important;
  font-size:13px!important;
  line-height:1.45!important;
}

.tjpc-single-facts span,
.tjpc-single-meta span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.tjpc-single-facts strong,
.tjpc-single-meta strong{
  color:#46524c;
}

/* Main layout */
.tjpc-single-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 300px!important;
  gap:34px!important;
  align-items:start!important;
  padding-top:30px!important;
  padding-bottom:44px!important;
}

.tjpc-single-main,
.tjpc-single-content{
  min-width:0;
}

.tjpc-single-side,
.tjpc-single-sidebar{
  min-width:0;
  position:sticky;
  top:88px;
}

/* Cover */
.tjpc-single-cover,
.tjpc-single-featured{
  overflow:hidden;
  margin:0 0 26px!important;
  border-radius:14px!important;
  background:#f6f1f2;
}

.tjpc-single-cover img,
.tjpc-single-featured img{
  display:block;
  width:100%;
  height:auto;
}

/* Sections */
.tjpc-single-section{
  margin:0!important;
  padding:24px 0!important;
  border:0!important;
  border-bottom:1px solid var(--tjpc-single-line)!important;
  background:transparent!important;
  box-shadow:none!important;
}

.tjpc-single-section:first-child{
  padding-top:0!important;
}

.tjpc-single-section:last-child{
  border-bottom:0!important;
}

.tjpc-single-section h2,
.tjpc-single-map h2,
.tjpc-single-gallery h2,
.tjpc-vendor-info h2{
  margin:0 0 12px!important;
  font-size:21px!important;
  line-height:1.25!important;
  font-weight:800!important;
  color:var(--tjpc-single-text)!important;
}

.tjpc-content,
.tjpc-single-content,
.tjpc-demand-requirements{
  color:#4f5b55;
  font-size:15px!important;
  line-height:1.75!important;
}

.tjpc-content p,
.tjpc-single-content p,
.tjpc-demand-requirements p{
  margin:0 0 14px!important;
}

.tjpc-content p:last-child,
.tjpc-single-content p:last-child,
.tjpc-demand-requirements p:last-child{
  margin-bottom:0!important;
}

/* Tags */
.tjpc-tag-list,
.tjpc-single-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:10px 0 0!important;
}

.tjpc-tag-list span,
.tjpc-single-tags span{
  padding:5px 8px!important;
  border:0!important;
  border-radius:7px!important;
  background:var(--tjpc-single-soft)!important;
  color:#506058!important;
  font-size:11px!important;
  font-weight:700!important;
}

/* Sidebar boxes */
.tjpc-summary-box,
.tjpc-single-contact,
.tjpc-demand-note{
  margin:0 0 12px!important;
  padding:17px 18px!important;
  border:1px solid var(--tjpc-single-line)!important;
  border-radius:12px!important;
  background:var(--tjpc-single-surface)!important;
  box-shadow:none!important;
}

.tjpc-summary-box h2,
.tjpc-single-contact h2{
  margin:0 0 12px!important;
  font-size:15px!important;
  font-weight:800!important;
}

.tjpc-summary-box>div,
.tjpc-contact-row{
  padding:9px 0!important;
  border-top:1px solid #edf0ee!important;
}

.tjpc-summary-box>div:first-of-type,
.tjpc-contact-row:first-of-type{
  border-top:0!important;
}

.tjpc-summary-box span,
.tjpc-contact-row span{
  display:block;
  margin-bottom:3px;
  color:var(--tjpc-single-muted)!important;
  font-size:10px!important;
  font-weight:700!important;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.tjpc-summary-box strong,
.tjpc-contact-row strong,
.tjpc-contact-row a{
  color:var(--tjpc-single-text)!important;
  font-size:13px!important;
  line-height:1.4;
  text-decoration:none!important;
}

.tjpc-contact-row a:hover{
  color:var(--tjpc-single-accent-dark)!important;
}

/* Locked contacts */
.tjpc-contact-locked{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--tjpc-single-muted)!important;
  font-size:13px!important;
  line-height:1.5!important;
}

.tjpc-contact-locked strong{
  display:block;
  margin-bottom:4px;
  color:var(--tjpc-single-text)!important;
}

/* Gallery */
.tjpc-single-gallery{
  margin:0!important;
  padding:24px 0!important;
  border-bottom:1px solid var(--tjpc-single-line);
}

.tjpc-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}

.tjpc-gallery-grid a{
  overflow:hidden;
  aspect-ratio:1/1;
  border-radius:9px!important;
  background:#f6f1f2;
}

.tjpc-gallery-grid img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* Map */
.tjpc-single-map{
  margin:0!important;
  padding:24px 0 0!important;
  border:0!important;
}

.tjpc-single-map iframe{
  display:block;
  width:100%!important;
  height:320px!important;
  border:1px solid var(--tjpc-single-line)!important;
  border-radius:12px!important;
}

/* Event/vendor info blocks */
.tjpc-vendor-info{
  margin:24px 0 0!important;
  padding:18px!important;
  border:1px solid var(--tjpc-single-line)!important;
  border-radius:12px!important;
  background:#fffafa!important;
  box-shadow:none!important;
}

.tjpc-info-grid,
.tjpc-demand-details{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0 18px!important;
  margin:0!important;
}

.tjpc-info-grid>div,
.tjpc-demand-details>div{
  padding:10px 0!important;
  border-top:1px solid #f0eaec!important;
}

.tjpc-info-grid>div:nth-child(-n+2),
.tjpc-demand-details>div:nth-child(-n+2){
  border-top:0!important;
}

.tjpc-info-grid span,
.tjpc-demand-details span{
  display:block;
  margin-bottom:3px;
  color:var(--tjpc-single-muted);
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.tjpc-info-grid strong,
.tjpc-demand-details strong{
  font-size:13px!important;
}

/* Vendor hero */
.tjpc-vendor-hero-inner{
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
}

.tjpc-vendor-avatar{
  flex:0 0 96px!important;
  width:96px!important;
  height:96px!important;
  overflow:hidden;
  border:1px solid var(--tjpc-single-line)!important;
  border-radius:16px!important;
  background:#fff!important;
}

.tjpc-vendor-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

.tjpc-vendor-avatar span{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  font-size:30px;
  font-weight:800;
  color:var(--tjpc-single-accent-dark);
}

/* Demand owner / response */
.tjpc-owner-info,
.tjpc-demand-response-wrap{
  margin-top:22px!important;
  padding:18px!important;
  border:1px solid var(--tjpc-single-line)!important;
  border-radius:12px!important;
  background:#fffafa!important;
}

.tjpc-owner-info h2{
  margin-top:0!important;
}

.tjpc-owner-info p{
  color:var(--tjpc-single-muted);
  line-height:1.55;
}

/* Classified sidebar intro */
.tjpc-classified-contact-intro{
  margin-bottom:10px!important;
  padding:14px 16px!important;
  border:1px solid var(--tjpc-single-line)!important;
  border-radius:11px!important;
  background:#fffafa!important;
}

/* Responsive */
@media(max-width:900px){
  .tjpc-single-layout{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }

  .tjpc-single-side,
  .tjpc-single-sidebar{
    position:static!important;
  }

  .tjpc-single-side,
  .tjpc-single-sidebar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .tjpc-summary-box,
  .tjpc-single-contact,
  .tjpc-demand-note{
    margin:0!important;
  }
}

@media(max-width:640px){
  .tjpc-single-wrap,
  .tjpc-single-shell{
    width:min(100% - 28px,1180px);
  }

  .tjpc-single-hero{
    padding:26px 0 22px!important;
  }

  .tjpc-single-layout{
    padding-top:22px!important;
    padding-bottom:32px!important;
  }

  .tjpc-single-side,
  .tjpc-single-sidebar{
    grid-template-columns:1fr;
  }

  .tjpc-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .tjpc-info-grid,
  .tjpc-demand-details{
    grid-template-columns:1fr!important;
  }

  .tjpc-info-grid>div:nth-child(2),
  .tjpc-demand-details>div:nth-child(2){
    border-top:1px solid #f0eaec!important;
  }

  .tjpc-vendor-hero-inner{
    align-items:flex-start!important;
  }

  .tjpc-vendor-avatar{
    flex-basis:74px!important;
    width:74px!important;
    height:74px!important;
  }
}

/* =========================================================
   TJ PORTAL 3.5.7 — closed demand state
   ========================================================= */
.tjpc-demand-closed{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:8px 10px;
  border:1px solid #e5dddf;
  border-radius:8px;
  background:#f6f3f4;
  color:#696367;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
}
.tjpc-demand-closed strong{
  font-size:12px;
}
.tjpc-demand-closed span{
  font-size:11px;
  color:#787276;
}

/* =========================================================
   TJ PORTAL 3.6.1 — classified expiry
   ========================================================= */
.tjpc-classified-expired{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:8px 10px;
  border:1px solid #e5dddf;
  border-radius:8px;
  background:#f6f3f4;
  color:#696367;
}
.tjpc-classified-expired strong{font-size:12px}
.tjpc-classified-expired span{font-size:11px;color:#787276}

.tjpc-event-cancelled{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:8px 10px;border:1px solid #e1c6c6;border-radius:8px;background:#fbf2f2;color:#7b3f3f;font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important}
.tjpc-event-cancelled strong{font-size:12px}
.tjpc-event-cancelled span{font-size:11px;color:#8b6262}

/* =========================================================
   TJ PORTAL 3.6.7 — disabled vendor profile
   ========================================================= */
.tjpc-vendor-disabled{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:14px;
  padding:8px 10px;
  border:1px solid #e5dddf;
  border-radius:8px;
  background:#f6f3f4;
  color:#696367;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
}
.tjpc-vendor-disabled strong{font-size:12px}
.tjpc-vendor-disabled span{font-size:11px;color:#787276}


/* ========================================================================
   TJ PORTAL 3.9.0 — FINAL SINGLE PAGE VISUAL SYSTEM
   ======================================================================== */
.tjpc-single{
  --tjpc-green:#9b1f31;
  --tjpc-green-dark:#741522;
  --tjpc-line:#e8e2e3;
  --tjpc-line-soft:#f6f1f2;
  --tjpc-ink:#202126;
  --tjpc-text:#5a5355;
  --tjpc-muted:#80797c;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  background:#fff!important;
  color:var(--tjpc-text)!important;
}
.tjpc-single-shell{
  width:min(1120px,calc(100% - 36px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.tjpc-single-hero{
  margin:0!important;
  padding:34px 0 28px!important;
  border-bottom:1px solid var(--tjpc-line)!important;
  background:#faf8f8!important;
}
.tjpc-single-hero h1{
  max-width:840px!important;
  margin:6px 0 10px!important;
  color:var(--tjpc-ink)!important;
  font-size:clamp(28px,4vw,44px)!important;
  font-weight:800!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
.tjpc-single-facts,
.tjpc-single-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px 14px!important;
  color:#716b6e!important;
  font-size:10px!important;
}
.tjpc-single-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 320px!important;
  gap:28px!important;
  padding-top:28px!important;
  padding-bottom:54px!important;
}
.tjpc-single-main,
.tjpc-single-content{
  min-width:0!important;
}
.tjpc-single-section,
.tjpc-vendor-section,
.tjpc-vendor-info{
  margin:0 0 12px!important;
  padding:20px!important;
  border:1px solid var(--tjpc-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.tjpc-single-section h2,
.tjpc-vendor-section h2,
.tjpc-vendor-info h2,
.tjpc-summary-box h2,
.tjpc-single-contact h2{
  margin:0 0 12px!important;
  color:var(--tjpc-ink)!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.25!important;
}
.tjpc-content,
.tjpc-demand-requirements{
  color:var(--tjpc-text)!important;
  font-size:13px!important;
  line-height:1.7!important;
}
.tjpc-content p:first-child{
  margin-top:0!important;
}
.tjpc-content p:last-child{
  margin-bottom:0!important;
}
.tjpc-single-side,
.tjpc-single-sidebar{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.tjpc-summary-box,
.tjpc-single-contact{
  margin:0!important;
  padding:16px!important;
  border:1px solid var(--tjpc-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.tjpc-summary-box>div{
  display:flex!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:8px 0!important;
  border-top:1px solid var(--tjpc-line-soft)!important;
}
.tjpc-summary-box>div:first-of-type{
  border-top:0!important;
}
.tjpc-summary-box span{
  color:var(--tjpc-muted)!important;
  font-size:9px!important;
}
.tjpc-summary-box strong{
  color:var(--tjpc-ink)!important;
  font-size:10px!important;
  text-align:right!important;
}
.tjpc-contact-row{
  display:grid!important;
  grid-template-columns:70px minmax(0,1fr)!important;
  gap:8px!important;
  padding:8px 0!important;
  border-top:1px solid var(--tjpc-line-soft)!important;
}
.tjpc-contact-row:first-of-type{
  border-top:0!important;
}
.tjpc-contact-row span{
  color:var(--tjpc-muted)!important;
  font-size:9px!important;
}
.tjpc-contact-row strong,
.tjpc-contact-row a{
  color:var(--tjpc-ink)!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.tjpc-contact-row a:hover{
  color:var(--tjpc-green-dark)!important;
}
.tjpc-tag-list,
.tjpc-single-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:5px!important;
}
.tjpc-tag-list span,
.tjpc-single-tags span{
  padding:4px 7px!important;
  border:1px solid #d4e3d8!important;
  border-radius:6px!important;
  background:#f1f7f2!important;
  color:#356445!important;
  font-size:9px!important;
  font-weight:700!important;
}
.tjpc-info-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
.tjpc-info-grid>div{
  padding:10px!important;
  border:1px solid var(--tjpc-line-soft)!important;
  border-radius:8px!important;
  background:#fafbfa!important;
}
.tjpc-info-grid span,
.tjpc-info-grid strong{
  display:block!important;
}
.tjpc-info-grid span{
  color:var(--tjpc-muted)!important;
  font-size:8px!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
.tjpc-info-grid strong{
  margin-top:4px!important;
  color:var(--tjpc-ink)!important;
  font-size:11px!important;
}
.tjpc-single-gallery{
  margin:0 0 12px!important;
  padding:18px!important;
  border:1px solid var(--tjpc-line)!important;
  border-radius:11px!important;
  background:#fff!important;
}
.tjpc-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.tjpc-gallery-grid img{
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  border-radius:7px!important;
}
.tjpc-single-featured,
.tjpc-single-cover{
  overflow:hidden!important;
  margin:0 0 12px!important;
  border-radius:11px!important;
}
.tjpc-single-featured img,
.tjpc-single-cover img{
  display:block!important;
  width:100%!important;
  max-height:520px!important;
  object-fit:cover!important;
}
.tjpc-vendor-hero-inner{
  display:grid!important;
  grid-template-columns:100px minmax(0,1fr)!important;
  align-items:center!important;
  gap:20px!important;
}
.tjpc-vendor-avatar{
  width:100px!important;
  height:100px!important;
  overflow:hidden!important;
  border:1px solid var(--tjpc-line)!important;
  border-radius:14px!important;
  background:#fff!important;
}
.tjpc-vendor-avatar img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.tjpc-vendor-avatar span{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--tjpc-green)!important;
  font-size:34px!important;
  font-weight:800!important;
}
.tjpc-vendor-online{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
}
.tjpc-vendor-online a{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:0 9px!important;
  border:1px solid var(--tjpc-line-soft)!important;
  border-radius:6px!important;
  color:#5a5355!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.tjpc-vendor-online a:hover{
  border-color:#bfd1c5!important;
  color:var(--tjpc-green-dark)!important;
}
.tjpc-demand-closed,
.tjpc-event-cancelled,
.tjpc-classified-expired,
.tjpc-vendor-disabled{
  margin-top:12px!important;
  padding:8px 10px!important;
  border-radius:7px!important;
  font-size:10px!important;
}
.tjpc-single-map{
  overflow:hidden!important;
  margin:0 0 12px!important;
  border:1px solid var(--tjpc-line)!important;
  border-radius:11px!important;
  background:#fff!important;
}
.tjpc-single-map iframe,
.tjpc-single-map .leaflet-container{
  width:100%!important;
  min-height:340px!important;
}
.tjpc-btn,
.tjpc-btn-primary{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:0 15px!important;
  border:1px solid var(--tjpc-green)!important;
  border-radius:8px!important;
  background:var(--tjpc-green)!important;
  color:#fff!important;
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  text-decoration:none!important;
}

@media(max-width:900px){
  .tjpc-single-layout{
    grid-template-columns:1fr!important;
  }
  .tjpc-single-side,
  .tjpc-single-sidebar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .tjpc-single-shell{
    width:calc(100% - 22px)!important;
  }
  .tjpc-single-hero{
    padding:24px 0 20px!important;
  }
  .tjpc-single-layout{
    gap:14px!important;
    padding-top:16px!important;
    padding-bottom:36px!important;
  }
  .tjpc-single-section,
  .tjpc-vendor-section,
  .tjpc-vendor-info{
    padding:16px!important;
  }
  .tjpc-single-side,
  .tjpc-single-sidebar{
    grid-template-columns:1fr!important;
  }
  .tjpc-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .tjpc-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .tjpc-vendor-hero-inner{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:14px!important;
  }
  .tjpc-vendor-avatar{
    width:72px!important;
    height:72px!important;
    border-radius:10px!important;
  }
}


/* ========================================================================
   TJ PORTAL 3.9.2 — READABLE SINGLE PAGES
   ======================================================================== */
.tjpc-single-hero{
  padding:48px 0 40px!important;
}
.tjpc-single-hero h1{
  font-size:clamp(38px,5vw,56px)!important;
}
.tjpc-single-facts,
.tjpc-single-meta{
  font-size:13px!important;
}
.tjpc-single-layout{
  grid-template-columns:minmax(0,1fr) 350px!important;
  gap:34px!important;
  padding-top:36px!important;
}
.tjpc-single-section,
.tjpc-vendor-section,
.tjpc-vendor-info{
  padding:24px!important;
}
.tjpc-single-section h2,
.tjpc-vendor-section h2,
.tjpc-vendor-info h2,
.tjpc-summary-box h2,
.tjpc-single-contact h2{
  font-size:20px!important;
}
.tjpc-content,
.tjpc-demand-requirements{
  font-size:16px!important;
  line-height:1.8!important;
}
.tjpc-summary-box,
.tjpc-single-contact{
  padding:19px!important;
}
.tjpc-summary-box span{
  font-size:12px!important;
}
.tjpc-summary-box strong{
  font-size:13px!important;
}
.tjpc-contact-row{
  grid-template-columns:90px minmax(0,1fr)!important;
  padding:10px 0!important;
}
.tjpc-contact-row span{
  font-size:12px!important;
}
.tjpc-contact-row strong,
.tjpc-contact-row a{
  font-size:13px!important;
}
.tjpc-tag-list span,
.tjpc-single-tags span{
  padding:5px 8px!important;
  font-size:11px!important;
}
.tjpc-info-grid span{
  font-size:10px!important;
}
.tjpc-info-grid strong{
  font-size:13px!important;
}
.tjpc-vendor-avatar{
  width:112px!important;
  height:112px!important;
}
.tjpc-vendor-hero-inner{
  grid-template-columns:112px minmax(0,1fr)!important;
}
.tjpc-vendor-online a{
  min-height:40px!important;
  font-size:12px!important;
}
.tjpc-demand-closed,
.tjpc-event-cancelled,
.tjpc-classified-expired,
.tjpc-vendor-disabled{
  font-size:12px!important;
}

@media(max-width:640px){
  .tjpc-single-hero h1{
    font-size:38px!important;
  }
  .tjpc-content,
  .tjpc-demand-requirements{
    font-size:15px!important;
  }
}


/* ========================================================================
   TJ PORTAL 4.0.13 — POLISHED SINGLE DEMAND LAYOUT
   More breathing room, complete detail cards, readable 16px minimum.
   ======================================================================== */
.tjpc-demand-single .tjpc-single-main{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
.tjpc-demand-single .tjpc-single-section{
  margin:0!important;
  padding:28px 30px!important;
  border:1px solid #eadfe1!important;
  border-radius:16px!important;
  background:#fff!important;
  overflow:hidden!important;
}
.tjpc-demand-single .tjpc-single-section:first-child{
  padding-top:28px!important;
}
.tjpc-demand-single .tjpc-single-section h2{
  margin:0 0 18px!important;
  padding:0!important;
  color:#211d1e!important;
  font-size:22px!important;
  line-height:1.3!important;
  font-weight:700!important;
}
.tjpc-demand-single .tjpc-single-content,
.tjpc-demand-single .tjpc-single-content p,
.tjpc-demand-single .tjpc-demand-requirements,
.tjpc-demand-single .tjpc-demand-requirements p{
  color:#5f585a!important;
  font-size:16px!important;
  line-height:1.7!important;
  font-weight:400!important;
}
.tjpc-demand-single .tjpc-demand-details{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
}
.tjpc-demand-single .tjpc-demand-details>div{
  min-width:0!important;
  min-height:88px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:16px 18px!important;
  border:1px solid #eadfe1!important;
  border-radius:12px!important;
  background:#fff!important;
}
.tjpc-demand-single .tjpc-demand-details>div:nth-child(-n+2){
  border-top:1px solid #eadfe1!important;
}
.tjpc-demand-single .tjpc-demand-details>div:last-child:nth-child(odd){
  grid-column:1 / -1!important;
}
.tjpc-demand-single .tjpc-demand-details span{
  display:block!important;
  margin:0 0 6px!important;
  color:#8a8083!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
  opacity:1!important;
}
.tjpc-demand-single .tjpc-demand-details strong{
  display:block!important;
  color:#211d1e!important;
  font-size:16px!important;
  line-height:1.45!important;
  font-weight:600!important;
  overflow-wrap:anywhere!important;
}
.tjpc-demand-single .tjpc-demand-requirements{
  width:100%!important;
  margin:0!important;
  padding:20px 22px!important;
  border:1px solid #ead7db!important;
  border-radius:12px!important;
  background:#fdf8f9!important;
}
.tjpc-demand-single .tjpc-demand-requirements p{
  margin:0!important;
}
.tjpc-demand-single .tjpc-single-sidebar{
  gap:18px!important;
}
.tjpc-demand-single .tjpc-single-contact{
  padding:24px!important;
  border-radius:16px!important;
}
.tjpc-demand-single .tjpc-single-contact h2{
  font-size:20px!important;
  font-weight:700!important;
}
.tjpc-demand-single .tjpc-single-meta,
.tjpc-demand-single .tjpc-single-meta span,
.tjpc-demand-single .tjpc-single-meta strong,
.tjpc-demand-single .tjpc-single-tags span,
.tjpc-demand-single .tjpc-demand-closed,
.tjpc-demand-single .tjpc-demand-closed strong,
.tjpc-demand-single .tjpc-demand-closed span{
  font-size:16px!important;
  font-weight:600!important;
}
@media(max-width:700px){
  .tjpc-demand-single .tjpc-single-section{
    padding:22px 20px!important;
  }
  .tjpc-demand-single .tjpc-single-section:first-child{
    padding-top:22px!important;
  }
  .tjpc-demand-single .tjpc-demand-details{
    grid-template-columns:1fr!important;
  }
  .tjpc-demand-single .tjpc-demand-details>div:last-child:nth-child(odd){
    grid-column:auto!important;
  }
}
