/* ==========================================================================
   ZipMaster News module — inherits the site palette (blue #1383F2 / orange #FF9900)
   Loaded AFTER css.css so it never overrides the base template.
   ========================================================================== */

/* ---------- text banner (replaces the 2-image rotator on news pages) ---------- */
.zm-band{
	background:#0B3A6B;
	background-image:-webkit-gradient(linear,left top,right top,from(#0B3A6B),to(#1A6DB5));
	background-image:linear-gradient(100deg,#0B3A6B 0%,#14538F 55%,#1A6DB5 100%);
	border-bottom:3px solid #FF9900;
}
.zm-band-in{
	width:1000px;margin:0 auto;padding:30px 0 30px;overflow:hidden;
}
.zm-band-l{ float:left; width:660px; }
.zm-band-r{ float:right; width:290px; text-align:right; padding-top:26px; }
.zm-crumb{ color:#9FC2E3; font-size:12px; margin-bottom:12px; }
.zm-crumb a{ color:#CFE2F5; text-decoration:none; }
.zm-crumb a:hover{ color:#FFFFFF; text-decoration:underline; }
.zm-crumb span{ color:#7FA9D0; }
.zm-band-title{ margin:0; font-size:30px; line-height:36px; color:#FFFFFF; font-weight:bold; letter-spacing:.3px; }
.zm-band-sub{ margin:10px 0 0; font-size:13px; line-height:21px; color:#D6E6F6; max-width:620px; }
.zm-band-stat{ display:inline-block; margin-left:22px; text-align:center; padding:0 14px; border-left:1px solid rgba(255,255,255,.22); }
.zm-band-stat b{ display:block; font-size:26px; line-height:30px; color:#FFCC00; }
.zm-band-stat span{ font-size:11px; color:#BFD8F0; letter-spacing:.4px; text-transform:uppercase; }

/* ---------- toolbar ---------- */
.zm-toolbar{
	background:#FFFFFF; border:1px solid #CCCCCC; padding:12px 14px; overflow:hidden; margin-bottom:16px;
}
.zm-pills{ float:left; max-width:600px; }
.zm-pill{
	display:inline-block; margin:3px 4px 3px 0; padding:6px 11px; border:1px solid #D7DDE5; border-radius:3px;
	background:#F7F9FB; color:#4A5A6A; font-size:12px; font-family:inherit; cursor:pointer; line-height:1;
}
.zm-pill:hover{ background:#EAF3FE; border-color:#9DC4EC; color:#1462B4; }
.zm-pill.is-active{ background:#1383F2; border-color:#1383F2; color:#FFFFFF; font-weight:600; }
.zm-pill-n{ display:inline-block; margin-left:6px; padding:0 5px; border-radius:8px; background:rgba(0,0,0,.08); font-size:11px; }
.zm-pill.is-active .zm-pill-n{ background:rgba(255,255,255,.25); }
.zm-tools{ float:right; padding-top:2px; }
.zm-search{
	display:inline-block; vertical-align:middle; background:#FFFFFF; border:1px solid #D7DDE5; border-radius:3px; padding:5px 8px;
}
.zm-search img{ opacity:.55; vertical-align:middle; margin-right:5px; }
.zm-lens{
	display:inline-block; width:9px; height:9px; margin-right:6px; vertical-align:middle;
	border:2px solid #8A98A6; border-radius:50%; position:relative; top:-1px;
}
.zm-lens:after{
	content:""; position:absolute; right:-4px; bottom:-3px; width:5px; height:2px;
	background:#8A98A6; transform:rotate(45deg);
}
.zm-search input{ border:0 none; outline:none; width:210px; font-size:12px; color:#333333; font-family:inherit; background:transparent; }
.zm-select{
	vertical-align:middle; margin-left:8px; padding:6px 6px; border:1px solid #D7DDE5; border-radius:3px;
	background:#FFFFFF; color:#4A5A6A; font-size:12px; font-family:inherit;
}

/* ---------- grid of cards ---------- */
.zm-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; list-style:none; margin:0 0 18px; padding:0; }
.zm-grid-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.zm-card{
	background:#FFFFFF; border:1px solid #DDDDDD; margin-bottom:16px; list-style:none;
	transition:box-shadow .18s ease, border-color .18s ease;
}
.zm-card:hover{ border-color:#9DC4EC; box-shadow:0 3px 12px rgba(19,131,242,.13); }
.zm-card a{ display:block; text-decoration:none; color:inherit; }
.zm-card-media{ height:196px; overflow:hidden; background:#EDF3FA; border-bottom:1px solid #EEEEEE; }
.zm-card-media img{ display:block; width:100%; height:196px; object-fit:cover; }
.zm-card-body{ padding:14px 16px 16px; }
.zm-card-title{ margin:8px 0 6px; font-size:16px; line-height:23px; color:#22303C; font-weight:bold; }
.zm-card a:hover .zm-card-title{ color:#1462B4; }
.zm-card-ex{ margin:0 0 10px; font-size:12px; line-height:19px; color:#717171; }
.zm-card-date{ font-size:11px; color:#9AA7B4; }
.zm-grid-3 .zm-card{ margin-bottom:0; }
.zm-grid-3 .zm-card-media, .zm-grid-3 .zm-card-media img{ height:130px; }
.zm-empty{
	list-style:none; background:#FFFFFF; border:1px dashed #C7D3DF; padding:44px 20px; text-align:center;
	color:#7A8896; font-size:13px;
}

/* ---------- tags ---------- */
.zm-tag{
	display:inline-block; padding:3px 8px; border-radius:2px; font-size:11px; font-weight:600; line-height:14px;
	color:#FFFFFF; background:var(--tag,#5A6B7C); letter-spacing:.3px; text-transform:uppercase;
}
.zm-tagcloud{ line-height:26px; }
.zm-tagchip{
	border:1px solid #D7DDE5; background:#F7F9FB; color:#5A6B7C; font-size:11.5px; font-family:inherit;
	padding:4px 8px; border-radius:12px; margin:0 4px 5px 0; cursor:pointer;
}
.zm-tagchip:hover{ background:#EAF3FE; border-color:#9DC4EC; color:#1462B4; }

/* ---------- pager ---------- */
.zm-pager{ padding:6px 0 18px; text-align:center; }
.zm-pager button{
	min-width:30px; height:30px; margin:0 3px; padding:0 9px; cursor:pointer; font-family:inherit; font-size:12px;
	background:#FFFFFF; border:1px solid #D7DDE5; border-radius:3px; color:#4A5A6A;
}
.zm-pager button:hover:not([disabled]){ border-color:#9DC4EC; color:#1462B4; background:#EAF3FE; }
.zm-pager button.is-active{ background:#1383F2; border-color:#1383F2; color:#FFFFFF; font-weight:bold; }
.zm-pager button[disabled]{ opacity:.4; cursor:default; }

/* ---------- sidebar ---------- */
.zm-side-box{ background:#FFFFFF; border:1px solid #DDDDDD; padding:14px 16px 16px; margin-bottom:16px; }
.zm-side-title{
	font-size:14px; font-weight:bold; color:#22303C; border-left:4px solid #1383F2; padding-left:9px;
	line-height:17px; margin-bottom:10px;
}
.zm-side-blue{ background:#F4F9FF; border-color:#CFE3F7; }
.zm-side-blue .zm-side-title{ border-left-color:#FF9900; }
.zm-side p{ margin:0 0 9px; font-size:12px; line-height:19px; color:#717171; }
.zm-side-note{ font-size:11.5px !important; }
.zm-btn{
	display:inline-block; background:#FF9900; color:#FFFFFF !important; text-decoration:none; font-weight:bold;
	font-size:12.5px; padding:8px 16px; border-radius:3px;
}
.zm-btn:hover{ background:#E88C00; }
.zm-feedlink{ color:#1462B4; font-size:12px; }
.zm-recent{ list-style:none; margin:0; padding:0; }
.zm-recent li{ border-bottom:1px dotted #E1E6EB; padding:9px 0; }
.zm-recent li:last-child{ border-bottom:0 none; }
.zm-recent a{ text-decoration:none; display:block; }
.zm-recent-t{ display:block; font-size:12.5px; line-height:18px; color:#33414E; }
.zm-recent a:hover .zm-recent-t{ color:#1462B4; }
.zm-recent-d{ display:block; font-size:11px; color:#9AA7B4; margin-top:3px; }

/* ---------- home teaser strip ---------- */
.zm-home{
	background:#FFFFFF; border:1px solid #CCCCCC; width:1000px; margin:0 auto;
}
.zm-home-head{ overflow:hidden; padding:16px 24px 10px; border-bottom:1px solid #EEEEEE; }
.zm-home-head h2{ float:left; margin:0; font-size:16px; color:#22303C; font-weight:bold; }
.zm-home-head h2 span{ color:#1383F2; }
.zm-home-head .zm-home-all{ float:right; font-size:12px; color:#1462B4; text-decoration:none; padding-top:2px; }
.zm-home-head .zm-home-all:hover{ text-decoration:underline; }
.zm-home-body{ padding:18px 24px 22px; overflow:hidden; }
#zmHomeFeatured{ float:left; width:470px; }
#zmHomeList{ float:right; width:430px; list-style:none; margin:0; padding:0; }

.zm-feat{ display:block; text-decoration:none; color:inherit; }
.zm-feat-media{ height:214px; overflow:hidden; background:#EDF3FA; border:1px solid #E3E9F0; }
.zm-feat-media img{ display:block; width:100%; height:214px; object-fit:cover; }
.zm-feat-body{ padding-top:12px; }
.zm-feat-meta{ overflow:hidden; line-height:16px; }
.zm-feat-sub{ font-size:11.5px; color:#9AA7B4; vertical-align:middle; }
.zm-ovline{ display:inline-block; width:0; }
.zm-feat-title{ margin:8px 0 6px; font-size:18px; line-height:25px; color:#22303C; font-weight:bold; }
.zm-feat:hover .zm-feat-title{ color:#1462B4; }
.zm-feat-ex{ margin:0 0 8px; font-size:12px; line-height:19px; color:#717171; }
.zm-more{ font-size:12px; color:#FF9900; font-weight:600; }
.zm-arrow{ display:inline-block; transition:transform .16s ease; }
.zm-feat:hover .zm-arrow{ transform:translateX(4px); }

.zm-row{ list-style:none; border-bottom:1px solid #EEEEEE; padding:0 0 11px; margin-bottom:11px; }
.zm-row:last-child{ border-bottom:0 none; margin-bottom:0; padding-bottom:0; }
.zm-row a{ display:block; overflow:hidden; text-decoration:none; color:inherit; }
.zm-row-thumb{ float:left; width:104px; height:74px; overflow:hidden; background:#EDF3FA; border:1px solid #E3E9F0; }
.zm-row-thumb img{ display:block; width:104px; height:74px; object-fit:cover; }
.zm-row-main{ margin-left:118px; }
.zm-row-title{ margin:4px 0 3px; font-size:13.5px; line-height:19px; color:#22303C; font-weight:bold; }
.zm-row a:hover .zm-row-title{ color:#1462B4; }
.zm-row-ex{ margin:0; font-size:11.5px; line-height:17px; color:#7E8B98; }

/* ---------- article page ---------- */
.zm-crumb-bar{ background:#F4F7FA; border-bottom:1px solid #E3E9F0; }
.zm-crumb-in{ width:1000px; margin:0 auto; padding:11px 0; color:#8A98A6; font-size:12px; }
.zm-crumb-in a{ color:#4A5A6A; text-decoration:none; }
.zm-crumb-in a:hover{ color:#1462B4; text-decoration:underline; }
.zm-article{ width:1000px; margin:0 auto; background:#FFFFFF; border:1px solid #DDDDDD; border-top:3px solid #1383F2; padding:30px 40px 34px; box-sizing:border-box; margin-top:18px; margin-bottom:30px; }
.zm-article-head{ border-bottom:1px solid #EEEEEE; padding-bottom:18px; margin-bottom:22px; }
.zm-article-head h1{ margin:10px 0 8px; font-size:26px; line-height:34px; color:#1D2B38; font-weight:bold; }
.zm-article-ex{ margin:0 0 12px; font-size:14px; line-height:22px; color:#5F6E7C; }
.zm-article-meta{ font-size:12px; color:#8A98A6; }
.zm-article-meta i{ font-style:normal; margin:0 7px; color:#C3CCD5; }
.zm-article-hero{ margin:0 0 24px; border:1px solid #E3E9F0; overflow:hidden; }
.zm-article-hero img{ display:block; width:100%; }
.zm-article-body{ font-size:14px; line-height:26px; color:#3A4754; }
.zm-article-body p{ margin:0 0 16px; }
.zm-article-body h2{ font-size:19px; line-height:26px; color:#1D2B38; margin:26px 0 12px; padding-left:10px; border-left:4px solid #1383F2; }
.zm-article-body h3{ font-size:15.5px; color:#1D2B38; margin:20px 0 10px; }
.zm-article-body ul{ margin:0 0 16px; padding-left:22px; }
.zm-article-body li{ margin-bottom:7px; }
.zm-article-body blockquote{
	margin:0 0 18px; padding:12px 16px; background:#F4F9FF; border-left:4px solid #FF9900; color:#3F5570;
}
.zm-related{ margin-top:30px; padding-top:22px; border-top:1px solid #EEEEEE; }
.zm-article-back{ margin-top:22px; }
.zm-article-back a{ font-size:12px; color:#1462B4; text-decoration:none; }
.zm-article-back a:hover{ text-decoration:underline; }

/* ---------- responsive fallback (template is fixed-width, we only guard small screens) ---------- */
@media screen and (max-width:1040px){
	.zm-band-in, .zm-home, .zm-article{ width:auto; max-width:1000px; margin-left:8px; margin-right:8px; }
	.zm-band-l{ width:auto; float:none; }
	.zm-band-r{ display:none; }
	#zmHomeFeatured, #zmHomeList{ float:none; width:auto; }
	#zmHomeList{ margin-top:18px; }
}
