/* TZ Tenders — brand: navy #173A73, orange #F25A0C */
.tzt{--tz-navy:#173A73;--tz-navy-2:#0E2650;--tz-orange:#F25A0C;--tz-orange-2:#D24A04;--tz-ink:#172033;--tz-muted:#5A6577;--tz-line:#DCE3EE;--tz-soft:#F3F6FA;color:var(--tz-ink);font-size:16px;line-height:1.55;max-width:1080px;margin:0 auto}
.tzt *,.tzt *::before,.tzt *::after{box-sizing:border-box}
.tz-page .tz-wrap{max-width:1140px;margin:0 auto;padding:32px 20px 56px}
.tzt a{color:var(--tz-navy)}
.tzt-i{flex:none;vertical-align:-3px}
.tzt-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.tzt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}
.tzt-btn--primary{background:var(--tz-orange);color:#fff!important}
.tzt-btn--primary:hover{background:var(--tz-orange-2)}
.tzt-btn--ghost{background:transparent;border-color:var(--tz-navy);color:var(--tz-navy)!important}
.tzt-btn--ghost:hover{background:var(--tz-navy);color:#fff!important}
.tzt-btn:focus-visible,.tzt a:focus-visible,.tzt input:focus-visible,.tzt select:focus-visible{outline:3px solid var(--tz-navy);outline-offset:2px}

/* search bar */
.tzt-search{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:center;background:var(--tz-navy);padding:18px;border-radius:14px;margin-bottom:18px}
.tzt-search input[type=search],.tzt-search select{width:100%;min-height:48px;padding:10px 14px;font-size:16px;border:0;border-radius:10px;background:#fff;color:var(--tz-ink)}
.tzt-search .tzt-btn{min-height:48px}
.tzt-count{margin:0 0 14px;color:var(--tz-muted);font-size:15px;text-align:center}
.tzt-count a{font-weight:600;margin-left:4px}

/* rows */
.tzt-rows{display:flex;flex-direction:column;gap:10px}
.tzt-row{display:flex;gap:18px;align-items:stretch;justify-content:space-between;background:#fff;border:1px solid var(--tz-line);border-radius:12px;padding:16px 16px 16px 20px;transition:border-color .15s,box-shadow .15s}
.tzt-row:hover{border-color:#b9c7dd;box-shadow:0 4px 14px rgba(23,58,115,.07)}
.tzt-row.is-closed{opacity:.7}
.tzt-row-main{flex:1;min-width:0}
.tzt-kind{margin:0 0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tz-orange-2)}
.tzt-row-title{margin:0 0 4px;font-size:18px;line-height:1.35;font-weight:700}
.tzt-row-title a{color:var(--tz-ink);text-decoration:none}
.tzt-row-title a:hover{color:var(--tz-navy);text-decoration:underline}
.tzt-row-entity{margin:0 0 8px;color:var(--tz-muted);font-weight:600;font-size:15px}
.tzt-row-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;font-size:14px;color:var(--tz-muted)}
.tzt-row-meta span{display:inline-flex;gap:6px;align-items:center}

/* tear-off calendar closing block */
.tzt-due{flex:none;width:92px;display:flex;flex-direction:column;align-items:center;text-align:center;border-radius:10px;overflow:hidden;background:#fff;border:1.5px solid var(--tz-navy);align-self:flex-start}
.tzt-due-label{display:block;width:100%;padding:3px 0;background:var(--tz-navy);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;position:relative}
.tzt-due-label::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:radial-gradient(circle at 3px 0,transparent 2px,var(--tz-navy) 2.5px) 0 0/6px 3px repeat-x}
.tzt-due-day{font-size:30px;font-weight:800;line-height:1;margin-top:8px;color:var(--tz-navy)}
.tzt-due-mon{font-size:12px;font-weight:600;color:var(--tz-muted);margin-top:2px}
.tzt-due-left{display:block;width:100%;margin-top:6px;padding:4px 2px;font-size:11.5px;font-weight:700;background:var(--tz-soft);color:var(--tz-navy)}
.tzt-due-na{padding:14px 6px;font-size:13px;color:var(--tz-muted)}
.tzt-due--soon{border-color:var(--tz-orange)}
.tzt-due--soon .tzt-due-label,.tzt-due--soon .tzt-due-label::after{background-color:var(--tz-orange)}
.tzt-due--soon .tzt-due-label::after{background:radial-gradient(circle at 3px 0,transparent 2px,var(--tz-orange) 2.5px) 0 0/6px 3px repeat-x}
.tzt-due--soon .tzt-due-day{color:var(--tz-orange-2)}
.tzt-due--soon .tzt-due-left{background:#FDEBE1;color:var(--tz-orange-2)}
.tzt-due--closed{border-color:#aab3c2}
.tzt-due--closed .tzt-due-label{background:#8A94A6}
.tzt-due--closed .tzt-due-label::after{background:radial-gradient(circle at 3px 0,transparent 2px,#8A94A6 2.5px) 0 0/6px 3px repeat-x}
.tzt-due--closed .tzt-due-day{color:#8A94A6;text-decoration:line-through}
.tzt-due--none .tzt-due-label::after{display:none}

/* pagination + empty */
.tzt-pages{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:26px 0 0}
.tzt-pages .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:0 12px;border-radius:10px;border:1px solid var(--tz-line);background:#fff;text-decoration:none;font-weight:600;color:var(--tz-navy)}
.tzt-pages .current{background:var(--tz-navy);border-color:var(--tz-navy);color:#fff}
.tzt-pages .dots{border:0;background:none}
.tzt-empty{padding:34px 20px;text-align:center;background:var(--tz-soft);border-radius:12px;color:var(--tz-muted)}

/* single */
.tzt-single{max-width:860px}
.tzt-back{display:inline-block;margin-bottom:16px;font-weight:600;text-decoration:none}
.tzt-single-grid{display:flex;gap:20px;align-items:flex-start;justify-content:space-between;margin-bottom:18px}
.tzt-title{margin:0 0 6px;font-size:clamp(20px,2.6vw,27px);line-height:1.25;color:var(--tz-navy)}
.tzt-entity{margin:0;font-size:17px;font-weight:600;color:var(--tz-muted)}
.tzt-head-due .tzt-due{width:108px}
.tzt-head-due .tzt-due-day{font-size:36px}
.tzt-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:0 0 26px;background:var(--tz-line);border:1px solid var(--tz-line);border-radius:12px;overflow:hidden}
.tzt-facts>div{background:#fff;padding:12px 16px}
.tzt-facts dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tz-muted);margin:0 0 2px}
.tzt-facts dd{margin:0;font-weight:600}
.tzt-closed{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#FDECEA;color:#B42318;font-size:12px;font-weight:700}
.tzt-content{font-size:17px;line-height:1.7}
.tzt-content img{max-width:100%;height:auto}
.tzt-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.tzt-content td,.tzt-content th{border:1px solid var(--tz-line);padding:8px}
.tzt-download{margin-top:22px}
.tzt-teaser{position:relative;max-height:9.5em;overflow:hidden;color:var(--tz-muted)}
.tzt-teaser::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4em;background:linear-gradient(rgba(255,255,255,0),#fff)}
.tzt-paywall{margin-top:8px;padding:28px 24px;text-align:center;border-radius:14px;background:var(--tz-navy);color:#fff}
.tzt-paywall .tzt-i{width:34px;height:34px;color:var(--tz-orange)}
.tzt-paywall h2{margin:10px 0 8px;color:#fff;font-size:24px}
.tzt-paywall p{margin:0 auto 18px;max-width:520px;color:#D6E0F0}
.tzt-paywall-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.tzt-paywall .tzt-btn--ghost{border-color:#fff;color:#fff!important}
.tzt-paywall .tzt-btn--ghost:hover{background:#fff;color:var(--tz-navy)!important}

@media (max-width:760px){
  .tzt-search{grid-template-columns:1fr;padding:14px}
  .tzt-search .tzt-btn{width:100%}
  .tzt-row{padding:14px;gap:12px}
  .tzt-row-title{font-size:16.5px}
  .tzt-due{width:76px}
  .tzt-due-day{font-size:24px}
  .tzt-single-grid{flex-direction:column-reverse;gap:12px}
  .tzt-head-due{width:100%}
  .tzt-head-due .tzt-due{width:100%;box-sizing:border-box;flex-direction:row;align-items:center;gap:10px;padding-right:12px}
  .tzt-head-due .tzt-due-left{margin-left:auto!important}
  .tzt-head-due .tzt-due-label{width:auto;padding:10px;writing-mode:initial}
  .tzt-head-due .tzt-due-label::after{display:none}
  .tzt-head-due .tzt-due-day{margin:0;font-size:26px}
  .tzt-head-due .tzt-due-mon{margin:0}
  .tzt-head-due .tzt-due-left{width:auto;margin:0;border-radius:999px;padding:3px 10px}
}
.tzt-promo{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:28px 0 0;padding:18px 20px;border-radius:12px;background:#FFF6F1;border:1.5px solid #FBD3BE}
.tzt-promo p{margin:0;flex:1 1 320px}
.tzt-promo .tzt-btn{min-height:44px}
.tzt-results{transition:opacity .15s}
.tzt-results.is-loading{opacity:.45;pointer-events:none}
.tzt-flag{display:inline-block;margin-right:6px;padding:1px 8px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}
.tzt-flag--feat{background:var(--tz-orange);color:#fff}
.tzt-flag--free{background:#E7F6EC;color:#1A7F37}
.tzt-row.is-featured{border-color:var(--tz-orange);box-shadow:inset 4px 0 0 var(--tz-orange)}
.tzt-paywall-actions--pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px;margin:0 auto}
.tzt-paywall-actions--pair .tzt-btn{width:100%;justify-content:center;letter-spacing:.06em;font-weight:800}
@media (max-width:760px){
  .tzt-title{font-size:21px}
}
@media (prefers-reduced-motion:reduce){.tzt *{transition:none!important}}

/* v1.3 — running | closed counts, compact single view */
.tzt-count{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;font-size:15px}
.tzt-count-on{color:var(--tz-navy)}
.tzt-count a{color:var(--tz-orange-2);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.tzt-count-sep{color:var(--tz-line);font-weight:700}
.tzt-title{font-size:clamp(18px,2.1vw,23px);line-height:1.3}
.tzt-single .tzt-head{padding-top:4px}
.tzt-single .tzt-paywall{margin-top:22px}
.tzt-paywall-actions--pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.tzt-paywall-actions--pair .tzt-btn{box-sizing:border-box;min-height:50px;height:50px;padding:0 12px;border-width:2px;border-style:solid;font-size:15px;line-height:1}
.tzt-paywall-actions--pair .tzt-btn--primary{border-color:var(--tz-orange)}
@media (max-width:760px){.tzt-title{font-size:19px}}
.tzt-closed-note{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin:18px 0 22px;padding:16px 18px;border-radius:12px;background:#FFF6F1;border:1.5px solid #FBD3BE}
.tzt-closed-note p{margin:0;flex:1 1 300px;font-size:15px;line-height:1.5}
.tzt-closed-note .tzt-btn{min-height:44px}
.tzt-doc-locked{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:20px 0 0;padding:12px 14px;border-radius:10px;background:var(--tz-soft);font-size:15px}
.tzt-doc-locked a{color:var(--tz-orange-2);font-weight:700}

/* v1.3.5 — one-line download button + "View other tenders" */
.tzt-download,.tzt-back-btn{white-space:nowrap;max-width:100%;box-sizing:border-box}
.tzt-download{font-size:clamp(14px,4vw,16px);padding:0 clamp(14px,4vw,24px)}
.tzt-back-wrap{margin:12px 0 0}
.tzt-back-btn{background:transparent;border-color:var(--tz-navy,#173A73);color:var(--tz-navy,#173A73)!important;font-size:clamp(14px,4vw,16px)}
.tzt-back-btn:hover{background:var(--tz-navy,#173A73);color:#fff!important}
.tzt-back-btn svg{width:18px;height:18px}
@media (max-width:480px){.tzt-download,.tzt-back-btn{width:100%}}

/* v1.4.0 — mobile: title first, closing date just below it */
@media (max-width:760px){.tzt-single-grid{flex-direction:column!important}}
/* Member "Post a tender" form (inside the account dashboard) */
.tzt-postform{font-size:16px}
.tzt-pf p{margin:0 0 14px}
.tzt-pf label{display:block;font-weight:600;margin:0 0 6px;text-align:left}
.tzt-pf input:not([type=file]),.tzt-pf select,.tzt-pf textarea{width:100%;box-sizing:border-box;min-height:46px;padding:10px 12px;border:1.5px solid var(--tz-line,#DCE3EE);border-radius:10px;font:inherit;background:#fff}
.tzt-pf textarea{min-height:180px}
.tzt-pf-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media (max-width:640px){.tzt-pf-row{grid-template-columns:1fr}}
.tzt-pf .req{color:#B42318}
.tzt-pf-err{display:block;margin-top:4px;color:#B42318;font-size:14px}
.tzt-pf-note{padding:12px 14px;border-radius:10px;background:#F3F6FA;margin:0 0 14px}
.tzt-pf-note--ok{background:#E9F7EF;color:#16794A}
.tzt-pf-note--bad{background:#FDECEA;color:#B42318}
.tzt-pf-intro{color:#5A6577;margin:0 0 14px}
.tzt-pf .tzt-btn{width:100%}
.tzt-pf-mine-h{margin:22px 0 8px;color:#173A73}
.tzt-pf-mine{margin:0;padding:0;list-style:none}
.tzt-pf-mine li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #DCE3EE}
.tzt-pf-st{font-style:normal;font-size:13px;font-weight:700;padding:2px 10px;border-radius:999px;background:#FFF1E8;color:#D24A04;white-space:nowrap}
.tzt-pf-st--publish{background:#E9F7EF;color:#16794A}

/* Filter dropdowns (open under the field) */
.tz-dd{position:relative;width:100%}
.tz-dd-native{position:absolute!important;left:0;bottom:0;width:1px!important;height:1px!important;min-height:0!important;opacity:0;pointer-events:none}
.tz-dd-btn{display:flex;align-items:center;width:100%;min-height:48px;padding:10px 38px 10px 14px;border:0;border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23173A73' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center;color:#172033;font:inherit;font-size:16px;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}
.tz-dd.is-open .tz-dd-btn{box-shadow:0 0 0 3px rgba(242,90,12,.45)}
.tz-dd-btn:focus-visible{outline:3px solid #F25A0C;outline-offset:2px}
.tz-dd-list{position:absolute;z-index:60;left:0;right:0;top:calc(100% + 6px);max-height:min(320px,55vh);overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:1.5px solid #DCE3EE;border-radius:12px;box-shadow:0 14px 34px rgba(23,32,51,.18);text-align:left;-webkit-overflow-scrolling:touch}
.tz-dd-list li{padding:10px 12px;border-radius:8px;color:#172033;font-size:15.5px;line-height:1.3;cursor:pointer;outline:0}
.tz-dd-list li:hover,.tz-dd-list li:focus{background:#FFF1E8;color:#D24A04}
.tz-dd-list li[aria-selected=true]{background:#F3F6FA;color:#173A73;font-weight:700}
