/*
Theme Name: New Pulp Tales
Theme URI: https://www.newpulptales.com/
Description: Child theme for Newsup with custom templates for Serialized Tales on New Pulp Tales.
Author: 33 Dimensions
Author URI: https://www.33dimensions.com/
Template: newsup
Version: 1.2.0
Text Domain: new-pulp-tales
*/

.npt-serial-single,
.npt-serial-archive {
	--npt-red: #b52020;
	--npt-ink: #222;
	--npt-cream: #f8f3e7;
	--npt-border: rgba(0,0,0,.14);
}

.npt-serial-single .npt-serial-wrap,
.npt-serial-archive .npt-serial-wrap {
	max-width: 1140px;
	margin: 0 auto;
	padding: 30px 15px 50px;
}

.npt-serial-single .npt-serial-hero {
	display: grid;
	grid-template-columns: minmax(240px, 360px) 1fr;
	gap: 28px;
	align-items: start;
	background: var(--npt-cream);
	border: 1px solid var(--npt-border);
	padding: 24px;
	margin-bottom: 32px;
}

.npt-serial-single .npt-serial-cover img,
.npt-serial-archive .npt-archive-card-thumb img,
.npt-series-installments .npt-installment-thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.npt-serial-single .npt-serial-label,
.npt-serial-single .npt-installments-heading,
.npt-serial-archive .npt-archive-title-wrap .npt-serial-label {
	display: inline-block;
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 8px 10px;
	background: var(--npt-red);
	color: #fff;
	margin-bottom: 14px;
}

.npt-serial-single .npt-serial-title,
.npt-serial-archive .npt-archive-page-title {
	margin: 0 0 10px;
	line-height: 1.1;
}

.npt-serial-single .npt-serial-meta,
.npt-serial-archive .npt-archive-card-meta,
.npt-series-banner .npt-series-banner-meta,
.npt-series-nav .npt-series-nav-label {
	font-size: 14px;
	color: #666;
}

.npt-serial-single .npt-serial-excerpt {
	font-size: 18px;
	font-style: italic;
	margin: 14px 0 16px;
	color: #444;
}

.npt-serial-single .npt-serial-content {
	background: #fff;
	border: 1px solid var(--npt-border);
	padding: 28px;
	margin-bottom: 32px;
}

.npt-serial-single .npt-installments-heading-wrap {
	margin-bottom: 18px;
}

.npt-series-installments .npt-installment-grid,
.npt-serial-archive .npt-archive-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.npt-series-installments .npt-installment-card,
.npt-serial-archive .npt-archive-card {
	background: #fff;
	border: 1px solid var(--npt-border);
	overflow: hidden;
}

.npt-series-installments .npt-installment-thumb {
	background: #efefef;
}

.npt-series-installments .npt-installment-body,
.npt-serial-archive .npt-archive-card-body {
	padding: 18px;
}

.npt-series-installments .npt-installment-part {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--npt-red);
	margin-bottom: 8px;
}

.npt-series-installments .npt-installment-title,
.npt-serial-archive .npt-archive-card-title {
	margin: 0 0 10px;
	font-size: 24px;
	line-height: 1.15;
}

.npt-series-installments .npt-installment-excerpt,
.npt-serial-archive .npt-archive-card-excerpt {
	color: #555;
	margin: 0 0 14px;
}

.npt-button,
.npt-series-banner .npt-series-banner-cta,
.npt-series-nav .npt-series-nav-link {
	display: inline-block;
	padding: 10px 16px;
	background: var(--npt-red);
	color: #fff !important;
	text-decoration: none;
	font-weight: 700;
	transition: opacity .2s ease;
}

.npt-button:hover,
.npt-series-banner .npt-series-banner-cta:hover,
.npt-series-nav .npt-series-nav-link:hover {
	opacity: .9;
}

.npt-series-banner {
	margin: 0 0 28px;
	padding: 18px 20px;
	border-left: 4px solid var(--npt-red);
	background: var(--npt-cream);
}

.npt-series-banner .npt-series-banner-title {
	font-size: 22px;
	line-height: 1.2;
	margin: 6px 0 8px;
}

.npt-series-banner .npt-series-banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 12px;
}

.npt-series-nav {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 28px;
}

.npt-series-nav > div {
	padding: 16px;
	background: #fff;
	border: 1px solid var(--npt-border);
}

.npt-series-nav .npt-series-nav-center {
	text-align: center;
}

.npt-serial-archive .npt-archive-title-wrap {
	margin-bottom: 28px;
}

.npt-serial-archive .npt-archive-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.npt-serial-archive .npt-archive-card-thumb {
	background: #efefef;
}

.npt-empty-note {
	background: #fff;
	border: 1px solid var(--npt-border);
	padding: 20px;
}

@media (max-width: 991px) {
	.npt-serial-single .npt-serial-hero,
	.npt-series-installments .npt-installment-grid,
	.npt-serial-archive .npt-archive-grid,
	.npt-series-nav {
		grid-template-columns: 1fr;
	}
}


/* New Pulp Tales homepage featured slider */
.npt-home-slider{position:relative;margin:0 0 30px;background:#111;overflow:hidden}
.npt-home-slider .npt-home-slides{position:relative;min-height:480px}
.npt-home-slider .npt-home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s ease;background-position:center;background-size:cover}
.npt-home-slider .npt-home-slide.is-active{opacity:1;visibility:visible;z-index:1}
.npt-home-slider .npt-home-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.56) 48%,rgba(0,0,0,.18) 100%)}
.npt-home-slider .npt-home-slide-inner{position:relative;z-index:2;display:flex;align-items:flex-end;min-height:480px;padding:52px 72px 64px}
.npt-home-slider .npt-home-slide-copy{max-width:720px;color:#fff}
.npt-home-slider .npt-home-kicker{display:inline-block;margin-bottom:12px;padding:7px 10px;background:#b52020;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}
.npt-home-slider .npt-home-title{margin:0 0 14px;font-size:clamp(30px,4vw,54px);line-height:1.05;color:#fff}
.npt-home-slider .npt-home-title a{color:inherit;text-decoration:none}
.npt-home-slider .npt-home-excerpt{max-width:650px;margin:0 0 20px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.92)}
.npt-home-slider .npt-home-readmore{display:inline-block;padding:11px 18px;background:#fff;color:#171717!important;font-weight:700;text-decoration:none}
.npt-home-slider .npt-home-controls{position:absolute;z-index:4;left:0;right:0;bottom:16px;display:flex;align-items:center;justify-content:center;gap:12px;pointer-events:none}
.npt-home-slider .npt-home-prev,.npt-home-slider .npt-home-next,.npt-home-slider .npt-home-dot{pointer-events:auto;border:0;cursor:pointer}
.npt-home-slider .npt-home-prev,.npt-home-slider .npt-home-next{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.9);color:#111;font-size:22px;line-height:38px;padding:0}
.npt-home-slider .npt-home-dots{display:flex;gap:7px}.npt-home-slider .npt-home-dot{width:10px;height:10px;padding:0;border-radius:50%;background:rgba(255,255,255,.45)}
.npt-home-slider .npt-home-dot.is-active{background:#fff}.npt-home-slider .npt-no-image{background:linear-gradient(135deg,#312321,#111)}
@media(max-width:767px){.npt-home-slider .npt-home-slides,.npt-home-slider .npt-home-slide-inner{min-height:390px}.npt-home-slider .npt-home-slide-inner{padding:38px 28px 58px}.npt-home-slider .npt-home-slide::before{background:rgba(0,0,0,.62)}.npt-home-slider .npt-home-excerpt{display:none}}

/* ========================================================================
 * New Pulp Tales 1.2 normalized homepage
 * ======================================================================== */
.npt-home-ticker{background:#171717;color:#fff;border-bottom:3px solid #b52020}
.npt-ticker-row{display:flex;align-items:center;min-height:42px;overflow:hidden}
.npt-ticker-label{flex:0 0 auto;align-self:stretch;display:flex;align-items:center;padding:0 16px;background:#b52020;color:#fff;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.npt-ticker-track-wrap{overflow:hidden;white-space:nowrap;flex:1}
.npt-ticker-track{display:inline-flex;align-items:center;gap:0;min-width:max-content;animation:nptTicker 35s linear infinite}
.npt-ticker-track:hover{animation-play-state:paused}
.npt-ticker-track a{display:inline-flex;align-items:center;color:#fff!important;text-decoration:none;padding:0 20px;font-size:14px}
.npt-ticker-track a::after{content:"◆";font-size:6px;margin-left:40px;color:#b52020}
@keyframes nptTicker{from{transform:translateX(20%)}to{transform:translateX(-100%)}}
@media(prefers-reduced-motion:reduce){.npt-ticker-track{animation:none;overflow-x:auto}}

.npt-feature-container{padding-top:24px}
.npt-normalized-home{padding-top:16px;padding-bottom:40px}
.npt-home-feed .mg-sec-title{margin-bottom:20px}
.npt-home-feed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.npt-home-card{background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 2px 8px rgba(0,0,0,.04);overflow:hidden}
.npt-home-card-image{display:block;min-height:230px;background-position:center;background-size:cover}
.npt-home-card-body{padding:18px}
.npt-home-card-kicker,.npt-tab-kicker{margin-bottom:7px;color:#b52020;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.npt-home-card h2{font-size:25px;line-height:1.15;margin:0 0 10px}
.npt-home-card h2 a,.npt-tab-item h4 a{color:inherit;text-decoration:none}
.npt-home-card p{color:#555;line-height:1.55;margin:0 0 12px}
.npt-card-link{font-weight:800;color:#b52020!important;text-decoration:none}

.npt-tab-widget{background:#fff}
.npt-tabs-nav{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:3px solid #b52020;margin-bottom:4px}
.npt-tabs-nav button{appearance:none;border:0;background:#ededed;color:#222;padding:12px 6px;font-size:12px;font-weight:800;text-transform:uppercase;cursor:pointer}
.npt-tabs-nav button.is-active{background:#b52020;color:#fff}
.npt-tab-panel[hidden]{display:none!important}
.npt-tab-item{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.1)}
.npt-tab-thumb{display:block;min-height:75px;background-size:cover;background-position:center}
.npt-tab-item h4{font-size:16px;line-height:1.2;margin:0}
.npt-home-extra-widgets{margin-top:24px}

@media(max-width:991px){.npt-home-feed-grid{grid-template-columns:1fr}.npt-home-card-image{min-height:280px}}
@media(max-width:767px){.npt-ticker-label{padding:0 10px}.npt-ticker-track a{padding:0 12px}.npt-home-card-image{min-height:220px}}
