/* =============================================================================
   NBC Select Demo — Child Theme Styles
   ============================================================================= */

/* ── Reset & Base ─────────────────────────────────────────────────────────── */

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

:root {
	--nbc-blue:        #0f5ea8;
	--nbc-blue-dark:   #0a3d6b;
	--nbc-blue-light:  #e8f0fb;
	--nbc-red:         #d63638;
	--nbc-text:        #1a1a1a;
	--nbc-text-muted:  #555;
	--nbc-text-light:  #888;
	--nbc-border:      #e2e4e7;
	--nbc-bg:          #f7f7f7;
	--nbc-white:       #fff;
	--nbc-radius:      4px;
	--nbc-max-width:   1200px;
	--nbc-gutter:      20px;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	color: var(--nbc-text);
	background: var(--nbc-bg);
	margin: 0;
	line-height: 1.6;
}

a { color: var(--nbc-blue); text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

.nbc-site { display: flex; flex-direction: column; min-height: 100vh; }
.nbc-main { flex: 1; }

/* ── Header ─────────────────────────────────────────────────────────────── */

.nbc-header {
	background: var(--nbc-white);
	border-bottom: 3px solid var(--nbc-blue);
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.nbc-header__inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 0 var(--nbc-gutter);
	display: flex;
	align-items: center;
	gap: 32px;
	height: 60px;
}

.nbc-header__logo {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.5px;
	text-decoration: none;
	flex-shrink: 0;
}

.nbc-header__logo-nbc    { color: var(--nbc-blue); }
.nbc-header__logo-select { color: var(--nbc-text); font-weight: 400; }

.nbc-header__nav { flex: 1; }

.nbc-header__nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0;
}

.nbc-header__nav-list a {
	display: block;
	padding: 0 14px;
	height: 60px;
	line-height: 60px;
	font-size: 14px;
	font-weight: 600;
	color: var(--nbc-text);
	text-decoration: none;
	white-space: nowrap;
	transition: color .15s, border-bottom .15s;
	border-bottom: 3px solid transparent;
	margin-bottom: -3px;
}

.nbc-header__nav-list a:hover,
.nbc-header__nav-list .current-menu-item a {
	color: var(--nbc-blue);
	border-bottom-color: var(--nbc-blue);
}

.nbc-header__mobile-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
}

.nbc-header__mobile-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--nbc-text);
	border-radius: 2px;
}

/* ── Category Nav ───────────────────────────────────────────────────────── */

.nbc-cat-nav {
	background: var(--nbc-white);
	border-bottom: 1px solid var(--nbc-border);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.nbc-cat-nav::-webkit-scrollbar { display: none; }

.nbc-cat-nav__inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 0 var(--nbc-gutter);
	display: flex;
	gap: 0;
	align-items: stretch;
	white-space: nowrap;
}

.nbc-cat-nav__link {
	display: block;
	padding: 14px 16px;
	font-size: 14px;
	font-weight: 600;
	color: var(--nbc-text-muted);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	transition: color .15s, border-color .15s;
	white-space: nowrap;
}

.nbc-cat-nav__link:hover {
	color: var(--nbc-text);
	border-bottom-color: var(--nbc-border);
	text-decoration: none;
}

.nbc-cat-nav__link--all {
	color: var(--nbc-text);
	border-bottom-color: var(--nbc-blue);
}

/* ── Hero Section (3-col: Latest | Featured | Deals) ───────────────────── */

.nbc-hero-wrap {
	background: var(--nbc-white);
	border-bottom: 1px solid var(--nbc-border);
}

.nbc-hero {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 28px var(--nbc-gutter);
	display: grid;
	grid-template-columns: 220px 1fr 260px;
	gap: 0;
	align-items: start;
}

/* LEFT: The Latest ─────────────────────────────────────────────────────── */

.nbc-latest {
	padding-right: 24px;
	border-right: 1px solid var(--nbc-border);
}

.nbc-latest__heading {
	font-size: 18px;
	font-weight: 800;
	margin: 0 0 16px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--nbc-blue);
	color: var(--nbc-text);
}

.nbc-latest__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.nbc-latest__item {
	border-bottom: 1px solid var(--nbc-border);
}

.nbc-latest__item--active .nbc-latest__link {
	background: var(--nbc-blue-light);
}

.nbc-latest__link {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 10px 8px;
	text-decoration: none;
	color: inherit;
	border-radius: var(--nbc-radius);
	transition: background .15s;
}

.nbc-latest__link:hover {
	background: var(--nbc-blue-light);
	text-decoration: none;
}

.nbc-latest__title {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--nbc-text);
}

.nbc-latest__meta {
	display: flex;
	align-items: center;
	gap: 6px;
}

.nbc-latest__cat {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nbc-blue);
}

.nbc-latest__date {
	font-size: 11px;
	color: var(--nbc-text-light);
}

/* CENTER: Hero Main Article ─────────────────────────────────────────────── */

.nbc-hero-main {
	padding: 0 28px;
}

.nbc-hero-main__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.nbc-hero-main__link:hover { text-decoration: none; }

.nbc-hero-main__image-wrap {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--nbc-radius);
	background: var(--nbc-border);
	margin-bottom: 18px;
}

.nbc-hero-main__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #dde8f5, #c0d4eb);
}

.nbc-hero-main__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s;
}

.nbc-hero-main__link:hover .nbc-hero-main__image { transform: scale(1.03); }

.nbc-hero-main__cat {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--nbc-blue);
	margin-bottom: 8px;
}

.nbc-hero-main__title {
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 12px;
	color: var(--nbc-text);
}

.nbc-hero-main__excerpt {
	font-size: 15px;
	line-height: 1.6;
	color: var(--nbc-text-muted);
	margin: 0;
}

/* RIGHT: Daily Deals ────────────────────────────────────────────────────── */

.nbc-daily-deals {
	padding-left: 24px;
	border-left: 1px solid var(--nbc-border);
}

.nbc-daily-deals__heading {
	font-size: 18px;
	font-weight: 800;
	margin: 0 0 4px;
	color: var(--nbc-text);
}

.nbc-daily-deals__sub {
	font-size: 12px;
	color: var(--nbc-text-muted);
	margin: 0 0 16px;
	line-height: 1.4;
}

.nbc-daily-deals__list {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.nbc-daily-deals__item {
	border-bottom: 1px solid var(--nbc-border);
}

.nbc-daily-deals__item-link {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 0;
	text-decoration: none;
	color: inherit;
	transition: opacity .15s;
}

.nbc-daily-deals__item-link:hover { opacity: .8; text-decoration: none; }

.nbc-daily-deals__img-wrap {
	width: 72px;
	height: 72px;
	flex-shrink: 0;
	background: #f6f8fa;
	border-radius: var(--nbc-radius);
	overflow: hidden;
	border: 1px solid var(--nbc-border);
}

.nbc-daily-deals__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 4px;
}

.nbc-daily-deals__img-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e8f0fb, #c8d8e8);
}

.nbc-daily-deals__info {
	flex: 1;
	min-width: 0;
}

.nbc-daily-deals__name {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--nbc-text);
	margin-bottom: 4px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.nbc-daily-deals__pricing {
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.nbc-daily-deals__sale-price {
	font-size: 14px;
	font-weight: 700;
	color: var(--nbc-text);
}

.nbc-daily-deals__orig-price {
	font-size: 12px;
	color: var(--nbc-text-light);
	text-decoration: line-through;
}

.nbc-daily-deals__from {
	display: block;
	font-size: 11px;
	color: var(--nbc-text-light);
	margin-top: 2px;
}

.nbc-daily-deals__see-all {
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	color: var(--nbc-blue);
	text-decoration: none;
}

.nbc-daily-deals__see-all:hover { text-decoration: underline; }

/* ── Featured Section (legacy, kept for compat) ─────────────────────────── */

.nbc-featured-wrap {
	background: var(--nbc-white);
	border-bottom: 1px solid var(--nbc-border);
}

.nbc-featured {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 32px var(--nbc-gutter);
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 32px;
	align-items: start;
}

.nbc-featured-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.nbc-featured-card__link:hover { text-decoration: none; }

.nbc-featured-card__image-wrap {
	overflow: hidden;
	border-radius: var(--nbc-radius);
	background: var(--nbc-border);
}

.nbc-featured-card--main .nbc-featured-card__image-wrap {
	aspect-ratio: 16 / 9;
	margin-bottom: 16px;
}

.nbc-featured-card__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #dde8f5, #c0d4eb);
}

.nbc-featured-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s;
}

.nbc-featured-card__link:hover .nbc-featured-card__image { transform: scale(1.03); }

.nbc-featured-card__cat {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--nbc-blue);
	margin-bottom: 6px;
}

.nbc-featured-card--main .nbc-featured-card__title {
	font-size: clamp(20px, 2.5vw, 28px);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 10px;
	color: var(--nbc-text);
}

.nbc-featured-card__excerpt {
	font-size: 15px;
	line-height: 1.6;
	color: var(--nbc-text-muted);
	margin: 0 0 10px;
}

.nbc-featured-card__date {
	font-size: 12px;
	color: var(--nbc-text-light);
}

/* Rail (secondary) cards */

.nbc-featured-rail {
	display: flex;
	flex-direction: column;
	gap: 24px;
	border-left: 1px solid var(--nbc-border);
	padding-left: 32px;
}

.nbc-featured-card--rail .nbc-featured-card__link {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 14px;
	align-items: start;
}

.nbc-featured-card--rail .nbc-featured-card__image-wrap {
	aspect-ratio: 1 / 1;
}

.nbc-featured-card--rail .nbc-featured-card__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 6px;
	color: var(--nbc-text);
}

/* ── Category Sections ──────────────────────────────────────────────────── */

.nbc-cat-section {
	padding: 36px 0;
	border-bottom: 1px solid var(--nbc-border);
	background: var(--nbc-white);
}

.nbc-cat-section:nth-child(even) { background: var(--nbc-bg); }

.nbc-cat-section__inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 0 var(--nbc-gutter);
}

.nbc-cat-section__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--nbc-blue);
}

.nbc-cat-section__title {
	font-size: 20px;
	font-weight: 800;
	margin: 0;
	color: var(--nbc-text);
}

.nbc-cat-section__see-all {
	font-size: 13px;
	font-weight: 600;
	color: var(--nbc-blue);
	white-space: nowrap;
	text-decoration: none;
}

.nbc-cat-section__see-all:hover { text-decoration: underline; }

/* ── 3-up card row (homepage category sections) ─────────────────────────── */

.nbc-card-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

/* ── Archive page ───────────────────────────────────────────────────────── */

.nbc-archive__header {
	background: var(--nbc-white);
	border-bottom: 1px solid var(--nbc-border);
	padding: 36px var(--nbc-gutter) 28px;
}

.nbc-archive__header-inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
}

.nbc-archive__label {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nbc-blue);
	margin-bottom: 8px;
}

.nbc-archive__title {
	font-size: clamp(26px, 4vw, 38px);
	font-weight: 800;
	margin: 0 0 6px;
}

.nbc-archive__desc {
	font-size: 16px;
	color: var(--nbc-text-muted);
	margin: 0;
}

.nbc-archive__body { padding: 40px 0; }

.nbc-archive__inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 0 var(--nbc-gutter);
}

/* ── Pagination ─────────────────────────────────────────────────────────── */

.nbc-pagination { margin-top: 48px; text-align: center; }

.nbc-pagination .nav-links {
	display: inline-flex;
	gap: 4px;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
}

.nbc-pagination .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid var(--nbc-border);
	border-radius: var(--nbc-radius);
	font-size: 14px;
	font-weight: 500;
	color: var(--nbc-text);
	text-decoration: none;
	transition: background .15s, border-color .15s;
}

.nbc-pagination .page-numbers:hover,
.nbc-pagination .page-numbers.current {
	background: var(--nbc-blue);
	border-color: var(--nbc-blue);
	color: #fff;
}

/* ── Sections ───────────────────────────────────────────────────────────── */

.nbc-section {
	padding: 40px 0;
}

.nbc-section__inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 0 var(--nbc-gutter);
}

.nbc-section__heading {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 24px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--nbc-blue);
	display: inline-block;
}

/* ── Card Grid ──────────────────────────────────────────────────────────── */

.nbc-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

.nbc-card {
	background: var(--nbc-white);
	border-radius: var(--nbc-radius);
	overflow: hidden;
	border: 1px solid var(--nbc-border);
	transition: box-shadow .2s;
}

.nbc-card:hover {
	box-shadow: 0 4px 20px rgba(0,0,0,.1);
}

.nbc-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.nbc-card__image-wrap {
	aspect-ratio: 16/9;
	overflow: hidden;
	background: #eee;
}

.nbc-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .3s;
}

.nbc-card:hover .nbc-card__image {
	transform: scale(1.03);
}

.nbc-card__image-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e0e8f0 0%, #c8d8e8 100%);
}

.nbc-card__body {
	padding: 16px;
}

.nbc-card__cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nbc-blue);
	margin-bottom: 6px;
}

.nbc-card__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 8px;
	color: var(--nbc-text);
}

.nbc-card__excerpt {
	font-size: 13px;
	color: var(--nbc-text-muted);
	margin: 0 0 12px;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.nbc-card__date {
	font-size: 12px;
	color: var(--nbc-text-light);
}

/* ── Deals Banner ───────────────────────────────────────────────────────── */

.nbc-deals-banner {
	background: var(--nbc-blue);
	padding: 48px var(--nbc-gutter);
	text-align: center;
	color: var(--nbc-white);
}

.nbc-deals-banner__inner {
	max-width: 600px;
	margin: 0 auto;
}

.nbc-deals-banner h2 {
	font-size: 28px;
	font-weight: 800;
	margin: 0 0 10px;
}

.nbc-deals-banner p {
	font-size: 16px;
	opacity: .9;
	margin: 0 0 20px;
}

.nbc-btn {
	display: inline-block;
	padding: 12px 28px;
	border-radius: var(--nbc-radius);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: opacity .15s;
}

.nbc-btn:hover { opacity: .85; text-decoration: none; }

.nbc-btn--white { background: var(--nbc-white); color: var(--nbc-blue); }

.nbc-no-posts { grid-column: 1/-1; text-align: center; color: var(--nbc-text-muted); padding: 40px; }

/* ── Review / Single Article ─────────────────────────────────────────────── */

.nbc-review__header {
	background: var(--nbc-white);
	padding: 36px var(--nbc-gutter) 28px;
	border-bottom: 1px solid var(--nbc-border);
}

.nbc-review__header-inner {
	max-width: 780px;
	margin: 0 auto;
}

.nbc-review__cat {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nbc-blue);
	margin-bottom: 12px;
	text-decoration: none;
}

.nbc-review__title {
	font-size: clamp(24px, 4vw, 38px);
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 14px;
}

.nbc-review__dek {
	font-size: 18px;
	line-height: 1.55;
	color: var(--nbc-text-muted);
	margin: 0 0 20px;
	font-weight: 400;
}

.nbc-review__byline {
	display: flex;
	align-items: center;
	gap: 10px;
}

.nbc-review__avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	object-fit: cover;
}

.nbc-review__byline-text {
	display: flex;
	flex-direction: column;
	font-size: 13px;
}

.nbc-review__author {
	font-weight: 600;
	color: var(--nbc-text);
}

.nbc-review__dates { color: var(--nbc-text-light); }

.nbc-review__hero-image {
	max-height: 500px;
	overflow: hidden;
}

.nbc-review__hero-img {
	width: 100%;
	object-fit: cover;
	max-height: 500px;
}

.nbc-review__body-wrap {
	display: grid;
	grid-template-columns: 1fr 280px;
	gap: 40px;
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 40px var(--nbc-gutter);
	align-items: start;
}

/* Article content prose styles */
.nbc-review__content {
	min-width: 0;
}

.nbc-review__content p {
	font-size: 17px;
	line-height: 1.7;
	margin-bottom: 1.2em;
	color: var(--nbc-text);
}

.nbc-review__content h2 {
	font-size: 24px;
	font-weight: 800;
	margin: 1.8em 0 .6em;
	color: var(--nbc-text);
}

.nbc-review__content h3 {
	font-size: 20px;
	font-weight: 700;
	margin: 1.5em 0 .5em;
}

.nbc-review__content ul,
.nbc-review__content ol {
	padding-left: 1.5em;
	margin-bottom: 1.2em;
}

.nbc-review__content li { font-size: 17px; line-height: 1.6; margin-bottom: .4em; }

/* ── Review Sidebar ─────────────────────────────────────────────────────── */

.nbc-review__sidebar-sticky {
	position: sticky;
	top: 80px;
	background: var(--nbc-white);
	border: 1px solid var(--nbc-border);
	border-radius: var(--nbc-radius);
	padding: 16px;
}

.nbc-review__sidebar-heading {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--nbc-text-muted);
	margin: 0 0 12px;
}

.nbc-review__sidebar-products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.nbc-review__sidebar-product {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

.nbc-review__sidebar-product img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	border-radius: 3px;
	background: #f6f8fa;
	flex-shrink: 0;
}

.nbc-review__sidebar-product a {
	font-size: 13px;
	font-weight: 600;
	color: var(--nbc-text);
	line-height: 1.3;
	display: block;
}

.nbc-review__sidebar-price {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--nbc-blue);
	margin-top: 2px;
}

/* ── Review Footer ───────────────────────────────────────────────────────── */

.nbc-review__footer {
	border-top: 1px solid var(--nbc-border);
	padding: 32px var(--nbc-gutter);
}

.nbc-review__footer-inner { max-width: var(--nbc-max-width); margin: 0 auto; }

.nbc-review__author-card {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.nbc-review__author-card img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
}

.nbc-review__author-card strong { display: block; font-size: 15px; margin-bottom: 4px; }
.nbc-review__author-card p { font-size: 14px; color: var(--nbc-text-muted); margin: 0; }

/* ── Product Widget ──────────────────────────────────────────────────────── */

.nbc-product-widget {
	border: 1px solid var(--nbc-border);
	border-radius: 6px;
	background: var(--nbc-white);
	margin: 28px 0;
	overflow: hidden;
}

.nbc-product-widget__main {
	display: flex;
	gap: 0;
}

.nbc-product-widget__image {
	max-width: 100%;
	max-height: 180px;
	object-fit: contain;
}

.nbc-product-widget__info {
	flex: 1;
	padding: 20px 24px;
}

.nbc-product-widget__title {
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 10px;
	line-height: 1.3;
}

.nbc-product-widget__title a {
	color: var(--nbc-text);
	text-decoration: none;
}

.nbc-product-widget__title a:hover { color: var(--nbc-blue); }

.nbc-product-widget__details {
	font-size: 14px;
	line-height: 1.6;
	color: var(--nbc-text-muted);
	margin: 0 0 16px;
}

.nbc-product-widget__buy-row {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.nbc-product-widget__pricing {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.nbc-product-widget__sale-badge {
	display: inline-block;
	background: var(--nbc-red);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 2px 6px;
	border-radius: 2px;
}

.nbc-product-widget__sale-price {
	font-size: 22px;
	font-weight: 800;
	color: var(--nbc-red);
}

.nbc-product-widget__orig-price {
	font-size: 15px;
	color: var(--nbc-text-light);
}

.nbc-product-widget__price {
	font-size: 22px;
	font-weight: 800;
	color: var(--nbc-text);
}

.nbc-product-widget__oos-badge {
	font-size: 12px;
	font-weight: 700;
	color: var(--nbc-red);
	background: #fef2f2;
	padding: 3px 8px;
	border-radius: 2px;
}

.nbc-product-widget__buy-btn {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	background: var(--nbc-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	border-radius: var(--nbc-radius);
	text-decoration: none;
	transition: background .15s;
}

.nbc-product-widget__buy-btn:hover {
	background: var(--nbc-blue-dark);
	color: #fff;
	text-decoration: none;
}

.nbc-product-widget__buy-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.nbc-product-widget__buy-buttons .nbc-product-widget__buy-btn:not(:first-child) {
	background: var(--nbc-white);
	color: var(--nbc-blue);
	border: 2px solid var(--nbc-blue);
}

.nbc-product-widget__buy-buttons .nbc-product-widget__buy-btn:not(:first-child):hover {
	background: #e8f0fb;
	color: var(--nbc-blue-dark);
}

.nbc-product-widget__discount-pct {
	display: inline-block;
	background: #00a32a;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	padding: 2px 6px;
	border-radius: 2px;
}

/* Gallery */
.nbc-product-widget__gallery {
	flex: 0 0 220px;
	max-width: 220px;
	display: flex;
	flex-direction: column;
}

.nbc-product-widget__gallery-main {
	background: #f6f8fa;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	flex: 1;
}

.nbc-product-widget__gallery.nbc-product-widget__gallery--multi .nbc-product-widget__gallery-main {
	height: 180px;
	flex: none;
}

.nbc-product-widget__gallery .nbc-product-widget__image {
	max-width: 100%;
	max-height: 160px;
	object-fit: contain;
}

.nbc-product-widget__thumbnails {
	display: flex;
	gap: 4px;
	padding: 6px;
	background: #edf0f4;
	flex-wrap: wrap;
}

.nbc-product-widget__thumb {
	width: 46px;
	height: 46px;
	object-fit: contain;
	border: 2px solid transparent;
	border-radius: 3px;
	cursor: pointer;
	background: #fff;
	padding: 2px;
	transition: border-color .15s;
}

.nbc-product-widget__thumb:hover,
.nbc-product-widget__thumb.is-active {
	border-color: var(--nbc-blue);
}

/* Accordion */
.nbc-product-widget__accordion {
	border-top: 1px solid var(--nbc-border);
}

.nbc-product-widget__accordion-toggle {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	padding: 12px 20px;
	background: #fafafa;
	border: none;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	color: var(--nbc-text);
	transition: background .15s;
}

.nbc-product-widget__accordion-toggle:hover { background: #f0f4f8; }

.nbc-product-widget__accordion-toggle[aria-expanded="true"] .nbc-product-widget__chevron {
	transform: rotate(180deg);
}

.nbc-product-widget__chevron {
	transition: transform .2s;
	font-style: normal;
}

.nbc-product-widget__accordion-body {
	padding: 20px;
}

.nbc-product-widget__pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 20px;
}

.nbc-product-widget__pros h4,
.nbc-product-widget__cons h4,
.nbc-product-widget__specs h4 {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--nbc-text-muted);
	margin: 0 0 8px;
}

.nbc-product-widget__pros ul,
.nbc-product-widget__cons ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nbc-product-widget__pros li::before { content: "✓ "; color: #00a32a; font-weight: 700; }
.nbc-product-widget__cons li::before { content: "✗ "; color: var(--nbc-red); font-weight: 700; }

.nbc-product-widget__pros li,
.nbc-product-widget__cons li {
	font-size: 14px;
	padding: 4px 0;
	border-bottom: 1px solid #f0f0f0;
	line-height: 1.5;
}

.nbc-product-widget__specs dl {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 6px 12px;
	margin: 0;
}

.nbc-product-widget__specs dt {
	font-size: 13px;
	font-weight: 600;
	color: var(--nbc-text-muted);
}

.nbc-product-widget__specs dd {
	font-size: 13px;
	margin: 0;
}

/* Out of stock state */
.nbc-product-widget--oos {
	opacity: .8;
}

/* ── Top Picks block ────────────────────────────────────────────────────── */

.nbc-top-picks {
	background: #e8f0fb;
	border-radius: 6px;
	overflow: hidden;
	margin-bottom: 36px;
}

.nbc-top-picks__header {
	background: #3a5ba9;
	padding: 14px 20px;
	font-size: 20px;
	font-weight: 400;
	color: #fff;
	line-height: 1.2;
}

.nbc-top-picks__selected {
	font-weight: 800;
}

.nbc-top-picks__list {
	padding: 12px 16px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.nbc-top-picks__row {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid #c7d3de;
}

.nbc-top-picks__row:last-child {
	border-bottom: none;
}

.nbc-top-picks__image-wrap {
	width: 120px;
	flex-shrink: 0;
}

.nbc-top-picks__image-wrap--empty {
	height: 90px;
	background: #dde8f5;
	border-radius: 4px;
}

.nbc-top-picks__image {
	width: 120px;
	height: 90px;
	object-fit: contain;
	border-radius: 4px;
	background: #fff;
	display: block;
}

.nbc-top-picks__info {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.nbc-top-picks__label {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	background: #3a5ba9;
	border-radius: 3px;
	padding: 2px 7px;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.nbc-top-picks__title {
	font-size: 15px;
	font-weight: 700;
	margin: 2px 0;
	line-height: 1.3;
	color: var(--nbc-text);
}

.nbc-top-picks__buy-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 4px;
}

.nbc-top-picks__pricing {
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.nbc-top-picks__sale-price {
	font-size: 15px;
	font-weight: 700;
	color: var(--nbc-red);
}

.nbc-top-picks__orig-price {
	font-size: 13px;
	color: #888;
}

.nbc-top-picks__price {
	font-size: 15px;
	font-weight: 700;
	color: var(--nbc-text);
}

.nbc-top-picks__discount-pct {
	font-size: 11px;
	font-weight: 700;
	background: #00a32a;
	color: #fff;
	padding: 2px 5px;
	border-radius: 2px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.nbc-top-picks__store-link {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #555;
	text-decoration: none;
	white-space: nowrap;
}

.nbc-top-picks__store-link:hover {
	color: var(--nbc-blue);
	text-decoration: underline;
}

.nbc-top-picks__learn-more {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--nbc-blue);
	text-decoration: none;
	margin-top: 6px;
}

.nbc-top-picks__learn-more:hover {
	text-decoration: underline;
}

.nbc-top-picks__arrow {
	font-size: 11px;
}

@media (max-width: 600px) {
	.nbc-top-picks__row { flex-direction: column; gap: 10px; }
	.nbc-top-picks__image-wrap { width: 100%; }
	.nbc-top-picks__image { width: 100%; height: 160px; }
}

/* ── Footer ─────────────────────────────────────────────────────────────── */

.nbc-footer {
	background: var(--nbc-text);
	color: rgba(255,255,255,.85);
	margin-top: 60px;
}

.nbc-footer__inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	padding: 48px var(--nbc-gutter);
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 48px;
}

.nbc-footer__logo { text-decoration: none; display: inline-block; margin-bottom: 12px; }
.nbc-footer__logo .nbc-header__logo-nbc    { color: #60a5fa; }
.nbc-footer__logo .nbc-header__logo-select { color: rgba(255,255,255,.85); }

.nbc-footer__tagline { font-size: 13px; color: rgba(255,255,255,.55); margin: 0; }

.nbc-footer__nav {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.nbc-footer__nav-col h4 {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
	margin: 0 0 12px;
}

.nbc-footer__nav-col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nbc-footer__nav-col li { margin-bottom: 8px; }

.nbc-footer__nav-col a {
	font-size: 13px;
	color: rgba(255,255,255,.75);
	text-decoration: none;
	transition: color .15s;
}

.nbc-footer__nav-col a:hover { color: #fff; }

.nbc-footer__legal {
	border-top: 1px solid rgba(255,255,255,.1);
	padding: 16px var(--nbc-gutter);
}

.nbc-footer__legal-inner {
	max-width: var(--nbc-max-width);
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
}

.nbc-footer__legal p { font-size: 12px; color: rgba(255,255,255,.4); margin: 0; }
.nbc-footer__affiliate-disclosure a { color: rgba(255,255,255,.6); }

/* ── Responsive ─────────────────────────────────────────────────────────── */

@media (max-width: 1100px) {
	.nbc-hero {
		grid-template-columns: 180px 1fr 220px;
	}
}

@media (max-width: 900px) {

	.nbc-header__nav { display: none; }
	.nbc-header__mobile-toggle { display: flex; margin-left: auto; }

	/* Hero collapses: hide Latest rail, stack Deals below */
	.nbc-hero {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.nbc-latest {
		display: none;
	}

	.nbc-hero-main {
		padding: 0;
	}

	.nbc-daily-deals {
		border-left: none;
		border-top: 1px solid var(--nbc-border);
		padding-left: 0;
		padding-top: 20px;
	}

	.nbc-daily-deals__list {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0;
	}

	.nbc-featured {
		grid-template-columns: 1fr;
	}

	.nbc-featured-rail {
		border-left: none;
		padding-left: 0;
		border-top: 1px solid var(--nbc-border);
		padding-top: 24px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.nbc-card-row { grid-template-columns: repeat(2, 1fr); }

	.nbc-review__body-wrap {
		grid-template-columns: 1fr;
	}

	.nbc-review__sidebar { order: -1; }
	.nbc-review__sidebar-sticky { position: static; }

	.nbc-footer__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.nbc-footer__nav {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {

	.nbc-hero-wrap { padding: 0; }
	.nbc-hero { padding: 20px var(--nbc-gutter); }

	.nbc-daily-deals__list {
		grid-template-columns: 1fr;
	}

	.nbc-featured { padding: 20px var(--nbc-gutter); }

	.nbc-featured-rail {
		grid-template-columns: 1fr;
	}

	.nbc-featured-card--rail .nbc-featured-card__link {
		grid-template-columns: 90px 1fr;
	}

	.nbc-card-row { grid-template-columns: 1fr; }

	.nbc-product-widget__main { flex-direction: column; }

	.nbc-product-widget__gallery {
		flex: none;
		max-width: 100%;
	}

	.nbc-product-widget__gallery-main {
		padding: 16px;
		max-height: 200px;
	}

	.nbc-product-widget__pros-cons {
		grid-template-columns: 1fr;
	}

	.nbc-footer__nav {
		grid-template-columns: 1fr;
	}

	.nbc-footer__legal-inner {
		flex-direction: column;
	}

	.nbc-card-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Curator block integration ─────────────────────────────────────────── */

.wp-block-rkv-storylines {
	background: var(--nbc-white);
	border-bottom: 1px solid var(--nbc-border);
	padding: 28px var(--nbc-gutter);
	max-width: var(--nbc-max-width);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.wp-block-rkv-feed {
	max-width: var(--nbc-max-width);
	margin-left: auto;
	margin-right: auto;
	padding: 28px var(--nbc-gutter);
	box-sizing: border-box;
}

.wp-block-rkv-feed .nbc-card {
	flex: 1 1 0;
	min-width: 0;
}

/* ── Storylines card NBC Select overrides ────────────────────────────────── */
/*
 * Font sizes come from Curator's CSS var system:
 *   --card--headline--{bp}--font-size is set inline by article-card.php,
 *   resolved via theme.json fs-* presets → --wp--preset--font-size--fs-*.
 * Do NOT add font-size to .rkv-card-title here — it would override the vars.
 */

/* Reset Curator's border/bg defaults */
.wp-block-rkv-storylines .rkv-card {
	background: transparent;
	border: none;
	box-shadow: none;
}

/* Shared title colour + reset margin */
.wp-block-rkv-storylines .rkv-card .rkv-card-title {
	color: var(--nbc-text);
	margin: 0;
}

/* Overlay link — full-card clickable on frontend */
.wp-block-rkv-storylines .rkv-card .rkv-card-title-link {
	text-decoration: none;
	color: inherit;
}
.wp-block-rkv-storylines .rkv-card .rkv-card-title-link:hover { text-decoration: none; }

/* Shared eyebrow NBC style (overrides Curator's grey pill) */
.wp-block-rkv-storylines .rkv-card .eyebrow {
	background: transparent;
	padding: 0;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--nbc-blue);
	text-transform: uppercase;
	text-decoration: none;
}

/* ── No-image (list) cards ───────────────────────────────────────────────── */
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--hidden {
	border-bottom: 1px solid var(--nbc-border);
	padding: 10px 8px;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--hidden:hover {
	background: var(--nbc-blue-light);
	border-radius: var(--nbc-radius);
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--hidden .rkv-card-title {
	line-height: 1.35;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--hidden .date {
	font-size: 11px;
	color: var(--nbc-text-light);
}

/* ── Top-image (hero) cards ─────────────────────────────────────────────── */
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--top {
	padding: 0 28px;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--top figure.featured-media img {
	border-radius: var(--nbc-radius);
	display: block;
	margin-bottom: 18px;
	width: 100%;
	height: auto;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--top .rkv-card-title {
	line-height: 1.2;
	margin: 0 0 12px;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--top .description {
	line-height: 1.6;
	color: var(--nbc-text-muted);
	margin: 0;
}

/* ── Deal cards (nbc_product) ────────────────────────────────────────────── */
/* Price row */
.nbc-deal-card__pricing {
	display: flex;
	align-items: baseline;
	gap: 5px;
	flex-wrap: wrap;
}
.nbc-deal-card__sale-price {
	font-size: 14px;
	font-weight: 700;
	color: var(--nbc-blue);
}
.nbc-deal-card__orig-price {
	font-size: 13px;
	color: var(--nbc-text-muted);
}
.nbc-deal-card__orig-price.is-crossed {
	text-decoration: line-through;
}
.nbc-deal-card__store {
	font-size: 11px;
	color: var(--nbc-text-light);
}

/* ── Side-image cards ────────────────────────────────────────────────────── */
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--side {
	padding: 10px 0;
	border-bottom: 1px solid var(--nbc-border);
	align-items: center;
	gap: 12px;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--side figure.featured-media {
	flex-shrink: 0;
	width: 80px;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--side figure.featured-media img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--nbc-radius);
	display: block;
}
.wp-block-rkv-storylines .rkv-card.has-featured-media-desktop--position--side .rkv-card-title {
	line-height: 1.35;
}
