/* =========================================================================
   Inner pages — product detail, category listing, blog, pages, search, 404
   Depends on tj.css for the design tokens.
   ========================================================================= */

/* ---------- breadcrumbs ---------- */
.tj-crumbs{background:#fff;border-bottom:1px solid var(--tj-line);padding:12px 0;font-size:13px;}
.tj-crumbs .tj-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:2px;color:var(--tj-muted);}
.tj-crumbs a{color:var(--tj-blue);font-weight:600;}
.tj-crumbs a:hover{text-decoration:underline;}
.tj-crumbs i{font-style:normal;margin:0 8px;color:#c3ccd9;}
.tj-crumbs .tj-cur{color:var(--tj-ink);font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}

/* ---------- page hero ---------- */
.tj-phero{background:linear-gradient(160deg,#0f2c5c 0%,#163a77 50%,#1a4c9b 100%);color:#fff;padding:40px 0;}
.tj-phero h1{color:#fff;font-size:clamp(23px,4vw,38px);line-height:1.2;margin-bottom:12px;}
.tj-phero p{color:#c6d8f2;font-size:clamp(14px,1.7vw,16.5px);line-height:1.65;max-width:760px;}
.tj-phero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin-top:16px;color:#bcd2ee;font-size:13.5px;}
.tj-phero-meta a{color:#fff;font-weight:600;}
.tj-chip{display:inline-block;background:rgba(255,255,255,.18);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 12px;border-radius:6px;margin-bottom:12px;}

/* ---------- page body + 2-column layout ---------- */
.tj-body{background:var(--tj-bg);padding:32px 0 52px;}
.tj-layout{display:grid;grid-template-columns:minmax(0,1fr) 328px;gap:24px;align-items:start;}
.tj-layout--narrow{grid-template-columns:minmax(0,1fr);max-width:860px;margin:0 auto;}
.tj-main{min-width:0;}
.tj-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:16px;min-width:0;}

.tj-box{background:#fff;border:1px solid var(--tj-line);border-radius:var(--tj-radius);padding:24px;margin-bottom:20px;}
.tj-box:last-child{margin-bottom:0;}
.tj-box > h2{font-size:clamp(17px,2.2vw,21px);padding-bottom:14px;border-bottom:1px solid var(--tj-line);margin-bottom:18px;}
.tj-box > h3{font-size:15px;padding-bottom:12px;border-bottom:1px solid var(--tj-line);margin-bottom:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--tj-muted);font-weight:700;}
.tj-box p{font-size:14.5px;line-height:1.7;color:var(--tj-body);}

/* ---------- product detail ---------- */
.tj-pd-head{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.tj-pd-logo{width:92px;height:92px;border-radius:16px;flex-shrink:0;display:grid;place-items:center;font-size:34px;font-weight:800;color:#fff;overflow:hidden;}
.tj-pd-logo img{width:100%;height:100%;object-fit:cover;}
.tj-pd-id{flex:1;min-width:220px;}
.tj-pd-id h1{font-size:clamp(21px,3vw,30px);line-height:1.2;margin-bottom:10px;}
.tj-pd-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.tj-pd-tags a,.tj-pd-tags span{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 12px;border-radius:20px;background:var(--tj-blue-soft);color:var(--tj-blue);}
.tj-pd-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.tj-pd-actions .tj-cta,.tj-pd-actions .tj-btn{font-size:14px;}

.tj-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.tj-fact{background:#f7f9fd;border:1px solid var(--tj-line);border-radius:10px;padding:16px;}
.tj-fact small{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tj-muted);margin-bottom:6px;}
.tj-fact b{font-size:19px;color:var(--tj-ink);font-weight:800;}
.tj-fact span{font-size:13px;color:var(--tj-muted);font-weight:500;}

.tj-featgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;}
.tj-featgrid div{display:flex;gap:10px;align-items:flex-start;background:#f7f9fd;border:1px solid var(--tj-line);border-radius:9px;padding:13px 15px;font-size:14px;font-weight:600;color:var(--tj-ink);line-height:1.45;}
.tj-featgrid div::before{content:"✓";color:var(--tj-green);font-weight:800;flex-shrink:0;}

.tj-side-price{text-align:center;padding:18px 0;border-top:1px solid var(--tj-line);border-bottom:1px solid var(--tj-line);margin-bottom:16px;}
.tj-side-price small{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--tj-muted);margin-bottom:6px;}
.tj-side-price b{font-size:27px;color:var(--tj-ink);font-weight:800;}
.tj-side-price em{font-style:normal;font-size:13px;color:var(--tj-muted);font-weight:500;}
.tj-side-price .tj-trial{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--tj-green);background:#eaf8f0;border:1px solid #bfe6d0;padding:5px 12px;border-radius:6px;}

.tj-kv{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed var(--tj-line);font-size:13.5px;}
.tj-kv:last-child{border-bottom:0;}
.tj-kv span{color:var(--tj-muted);flex-shrink:0;}
.tj-kv b{color:var(--tj-ink);text-align:right;font-weight:700;min-width:0;word-break:break-word;}

.tj-share{display:flex;gap:8px;flex-wrap:wrap;}
.tj-share a{flex:1;min-width:76px;text-align:center;padding:10px;border-radius:8px;font-size:13px;font-weight:700;color:#fff !important;transition:opacity .15s;}
.tj-share a:hover{opacity:.85;}
.tj-share .fb{background:#1877f2;}
.tj-share .tw{background:#111;}
.tj-share .li{background:#0a66c2;}
.tj-share .wa{background:#25d366;}

/* two-up product grid used inside a content column */
.tj-grid--2{grid-template-columns:repeat(2,1fr);}
@media (max-width:560px){.tj-grid--2{grid-template-columns:1fr;}}

/* ---------- listing rows (category / archive / search) ---------- */
.tj-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.tj-toolbar h2{font-size:17px;}
.tj-toolbar .tj-count{font-size:14px;color:var(--tj-muted);font-weight:500;}

.tj-rows{display:flex;flex-direction:column;gap:16px;}
.tj-row{background:#fff;border:1px solid var(--tj-line);border-radius:var(--tj-radius);padding:20px;position:relative;transition:box-shadow .18s,border-color .18s;}
.tj-row:hover{box-shadow:var(--tj-shadow);border-color:#c9d9f2;}
.tj-row.is-featured{border-color:var(--tj-blue);}
.tj-row-in{display:flex;gap:18px;align-items:flex-start;}
.tj-row-logo{width:72px;height:72px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;font-size:26px;font-weight:800;color:#fff;overflow:hidden;}
.tj-row-logo img{width:100%;height:100%;object-fit:cover;}
.tj-row-main{flex:1;min-width:0;}
.tj-row-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;flex-wrap:wrap;margin-bottom:8px;}
.tj-row-top h3{font-size:17px;line-height:1.3;margin-bottom:6px;}
.tj-row-top h3 a:hover{color:var(--tj-blue);}
.tj-row-rate{text-align:right;flex-shrink:0;}
.tj-row p.tj-row-desc{font-size:14px;color:var(--tj-muted);line-height:1.6;margin-bottom:12px;}
.tj-row-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:13px;border-top:1px solid #f1f4f9;}
.tj-row-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;}
.tj-row-price b{font-size:17px;font-weight:800;color:var(--tj-ink);}
.tj-row-price small{font-size:12.5px;color:var(--tj-muted);}
.tj-row-cta{display:flex;gap:9px;flex-wrap:wrap;}
.tj-row-cta .tj-btn{flex:0 0 auto;padding:9px 18px;}

/* ---------- prose (the_content) ---------- */
.tj-prose{font-size:16px;line-height:1.75;color:var(--tj-body);}
.tj-prose > *{margin-bottom:18px;}
.tj-prose > *:last-child{margin-bottom:0;}
.tj-prose h1,.tj-prose h2,.tj-prose h3,.tj-prose h4{color:var(--tj-ink);line-height:1.3;margin-top:32px;margin-bottom:12px;}
.tj-prose h2{font-size:clamp(19px,2.4vw,25px);}
.tj-prose h3{font-size:clamp(17px,2vw,20px);}
.tj-prose h4{font-size:16px;}
.tj-prose a{color:var(--tj-blue);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
.tj-prose ul,.tj-prose ol{padding-left:22px;}
.tj-prose ul{list-style:disc;}
.tj-prose ol{list-style:decimal;}
.tj-prose li{margin-bottom:8px;}
.tj-prose img{border-radius:10px;margin:0 auto;}
.tj-prose figure{margin:0 0 18px;}
.tj-prose figcaption{font-size:13px;color:var(--tj-muted);text-align:center;margin-top:8px;}
.tj-prose blockquote{border-left:4px solid var(--tj-blue);background:#f5f8fd;padding:14px 18px;border-radius:0 8px 8px 0;font-style:italic;color:var(--tj-ink);}
.tj-prose code{background:#f1f4f9;padding:2px 6px;border-radius:4px;font-size:.9em;}
.tj-prose pre{background:#0f2c5c;color:#e6eefb;padding:16px;border-radius:10px;overflow-x:auto;font-size:13.5px;}
.tj-prose pre code{background:none;padding:0;color:inherit;}
.tj-prose table{width:100%;border-collapse:collapse;font-size:14.5px;display:block;overflow-x:auto;}
.tj-prose th,.tj-prose td{border:1px solid var(--tj-line);padding:10px 12px;text-align:left;}
.tj-prose th{background:#f5f8fd;font-weight:700;color:var(--tj-ink);}
.tj-prose iframe,.tj-prose video{max-width:100%;border-radius:10px;}

/* ---------- sidebar widgets ---------- */
.tj-widget-list li{border-bottom:1px solid #f1f4f9;}
.tj-widget-list li:last-child{border-bottom:0;}
.tj-widget-list a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;font-size:14px;font-weight:600;color:var(--tj-body);transition:color .15s;}
.tj-widget-list a:hover{color:var(--tj-blue);}
.tj-widget-list a small{font-size:11.5px;background:var(--tj-blue-soft);color:var(--tj-blue);padding:3px 9px;border-radius:20px;font-weight:700;flex-shrink:0;}
.tj-widget-list a span{min-width:0;}
.tj-recent li{padding:10px 0;border-bottom:1px solid #f1f4f9;}
.tj-recent li:last-child{border-bottom:0;}
.tj-recent a{font-size:14px;font-weight:600;color:var(--tj-ink);line-height:1.45;display:block;}
.tj-recent a:hover{color:var(--tj-blue);}
.tj-recent time{display:block;font-size:11.5px;color:var(--tj-muted);margin-top:4px;}
.tj-author{text-align:center;}
.tj-author img{border-radius:50%;margin:0 auto 12px;}
.tj-author h4{font-size:15.5px;margin-bottom:6px;}
.tj-author p{font-size:13.5px;color:var(--tj-muted);line-height:1.6;}

/* ---------- pagination ---------- */
.tj-pager{display:flex;justify-content:center;margin-top:34px;}
.tj-pager .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 13px;margin:0 4px 8px;border:1px solid var(--tj-line);background:#fff;border-radius:8px;font-size:14px;font-weight:700;color:var(--tj-body);transition:all .15s;}
.tj-pager .page-numbers:hover{border-color:var(--tj-blue);color:var(--tj-blue);}
.tj-pager .page-numbers.current{background:var(--tj-blue);border-color:var(--tj-blue);color:#fff;}
.tj-pager .page-numbers.dots{border-color:transparent;background:none;}

/* ---------- empty state ---------- */
.tj-none{background:#fff;border:1px solid var(--tj-line);border-radius:var(--tj-radius);padding:52px 24px;text-align:center;}
.tj-none .tj-none-ic{font-size:44px;margin-bottom:14px;}
.tj-none h2{font-size:20px;margin-bottom:8px;}
.tj-none p{font-size:14.5px;color:var(--tj-muted);margin-bottom:22px;}
.tj-none form{display:flex;gap:8px;max-width:430px;margin:0 auto 20px;flex-wrap:wrap;}
.tj-none input[type=search],.tj-none input[type=text]{flex:1;min-width:180px;border:1px solid var(--tj-line);border-radius:8px;padding:12px 14px;font-size:14.5px;font-family:var(--tj-font);outline:0;}
.tj-none input:focus{border-color:var(--tj-blue);}
.tj-none button{border:0;background:var(--tj-blue);color:#fff;font-weight:700;padding:12px 22px;border-radius:8px;cursor:pointer;font-family:var(--tj-font);font-size:14.5px;}

/* ---------- offers modal (drives the theme's existing software-modal.js) ---------- */
#offers-modal,#tj-lead-modal{position:fixed;inset:0;z-index:1200;background:rgba(15,44,92,.62);display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;}
#offers-modal.hidden,#tj-lead-modal.hidden{display:none !important;}
.tj-modal-box{background:#fff;border-radius:16px;width:100%;max-width:540px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.35);margin:auto;}
.tj-modal-head{background:linear-gradient(120deg,var(--tj-blue) 0%,#0f4aa8 100%);color:#fff;padding:24px 26px;position:relative;}
.tj-modal-head h2{color:#fff;font-size:21px;margin-bottom:6px;}
.tj-modal-head p{color:#cfe0f8;font-size:14px;line-height:1.55;padding-right:34px;}
.tj-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.2);color:#fff;font-size:17px;cursor:pointer;display:grid;place-items:center;transition:background .15s;}
.tj-modal-close:hover{background:rgba(255,255,255,.34);}
.tj-modal-body{padding:22px 26px 26px;}
.tj-field{margin-bottom:15px;}
.tj-field label{display:block;font-size:13px;font-weight:700;color:var(--tj-ink);margin-bottom:6px;}
.tj-field label .req{color:var(--tj-red);}
.tj-field input,.tj-field textarea{width:100%;border:1.5px solid var(--tj-line);border-radius:9px;padding:11px 13px;font-size:14.5px;font-family:var(--tj-font);color:var(--tj-ink);outline:0;transition:border-color .15s,box-shadow .15s;background:#fff;}
.tj-field input:focus,.tj-field textarea:focus{border-color:var(--tj-blue);box-shadow:0 0 0 3px rgba(22,96,209,.12);}
.tj-field textarea{resize:vertical;min-height:88px;}
.tj-check{display:flex;gap:10px;align-items:flex-start;margin-bottom:18px;font-size:13px;color:var(--tj-muted);line-height:1.55;}
.tj-check input{width:17px;height:17px;margin-top:1px;accent-color:var(--tj-blue);flex-shrink:0;}
.tj-check a{color:var(--tj-blue);font-weight:600;}
.tj-modal-body button[type=submit]{width:100%;border:0;background:var(--tj-orange);color:#fff;font-family:var(--tj-font);font-size:15.5px;font-weight:800;padding:14px;border-radius:9px;cursor:pointer;transition:background .15s;}
.tj-modal-body button[type=submit]:hover{background:var(--tj-orange-dark);}
.tj-modal-body button[type=submit]:disabled{opacity:.6;cursor:not-allowed;}
.tj-modal-note{text-align:center;font-size:12px;color:var(--tj-muted);margin-top:12px;}
.tj-msg{border-radius:9px;padding:12px 14px;margin-bottom:14px;font-size:14px;font-weight:600;text-align:center;}
.tj-msg-ok,.bg-green-50{background:#eaf8f0;border:1px solid #bfe6d0;color:#0b6b3a;border-radius:9px;padding:12px 14px;margin-bottom:14px;font-size:14px;font-weight:600;text-align:center;display:block;}
.tj-msg-err,.bg-red-50{background:#fdecef;border:1px solid #f7c3ce;color:#a4123a;border-radius:9px;padding:12px 14px;margin-bottom:14px;font-size:14px;font-weight:600;text-align:center;display:block;}

/* =========================================================================
   COMPATIBILITY LAYER
   Parent-theme templates we have not rewritten (glossary) hard-code desktop
   grids and 48px headings inline, with no breakpoints. These rules collapse
   them on small screens without touching the parent theme.
   ========================================================================= */
@media (max-width:900px){
	.tj [style*="grid-template-columns: 2fr 1fr"],
	.tj [style*="grid-template-columns: 1fr 320px"],
	.tj [style*="grid-template-columns: 1fr 300px"],
	.tj [style*="grid-template-columns:2fr 1fr"]{grid-template-columns:1fr !important;}

	.tj [style*="font-size: 48px"]{font-size:29px !important;line-height:1.2 !important;}
	.tj [style*="font-size: 2.25rem"]{font-size:1.6rem !important;}
	.tj [style*="position: sticky"]{position:static !important;}
	.tj [style*="padding: 80px 20px"]{padding:44px 16px !important;}
	.tj [style*="padding: 60px 20px"]{padding:36px 16px !important;}
	.tj [style*="padding: 32px"]{padding:20px !important;}
}

/* Nothing inside our UI may push the page sideways. */
.tj{overflow-x:hidden;}
.tj img,.tj table,.tj pre,.tj iframe{max-width:100%;}

/* ---------- responsive ---------- */
@media (max-width:1000px){
	.tj-layout{grid-template-columns:1fr;}
	.tj-side{position:static;}
}
@media (max-width:640px){
	.tj-body{padding:22px 0 40px;}
	.tj-box{padding:18px;}
	.tj-phero{padding:28px 0;}
	.tj-pd-logo{width:64px;height:64px;border-radius:13px;font-size:24px;}
	.tj-pd-actions .tj-cta,.tj-pd-actions .tj-btn{flex:1 1 100%;text-align:center;justify-content:center;}
	.tj-row-in{gap:13px;}
	.tj-row-logo{width:52px;height:52px;font-size:20px;border-radius:10px;}
	.tj-row-top{flex-direction:column;gap:6px;}
	.tj-row-rate{text-align:left;}
	.tj-row-foot{flex-direction:column;align-items:flex-start;}
	.tj-row-cta{width:100%;}
	.tj-row-cta .tj-btn{flex:1;text-align:center;}
	.tj-facts{grid-template-columns:1fr 1fr;}
	.tj-featgrid{grid-template-columns:1fr;}
	.tj-modal-head,.tj-modal-body{padding-left:18px;padding-right:18px;}
	.tj-crumbs{font-size:12px;}
	.tj-crumbs i{margin:0 5px;}
}
