/*
Theme Name: Prijskeuze
Template: generatepress
Description: Prijskeuze.nl child theme — beslist-stijl prijsvergelijker
Version: 1.0.0
Text Domain: prijskeuze
*/

/* ============================================================
   CSS Custom Properties
   ============================================================ */
:root {
	--pk-orange:     #E84B1C;
	--pk-orange-dk:  #c93f17;
	--pk-blue:       #1A1A2E;
	--pk-blue-lt:    #2d2d4e;
	--pk-green:      #1a8a3c;
	--pk-green-lt:   #e8f7ed;
	--pk-gray-bg:    #F5F5F5;
	--pk-gray-border:#E0E0E0;
	--pk-gray-text:  #666;
	--pk-white:      #fff;
	--pk-shadow:     0 1px 4px rgba(0,0,0,.08);
	--pk-radius:     8px;
	--pk-font:       'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ============================================================
   Base
   ============================================================ */
body {
	background: var(--pk-gray-bg);
	font-family: var(--pk-font);
	color: #1a1a1a;
	margin: 0;
}

.site-content {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

a { color: var(--pk-orange); text-decoration: none; }
a:hover { color: var(--pk-orange-dk); }

img { max-width: 100%; height: auto; }

/* ============================================================
   Header
   ============================================================ */
.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

/* Top bar: donkerblauwe band met logo, zoek, nav */
.site-header__top {
	background: var(--pk-blue);
	color: #fff;
}
.header-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 20px;
	height: 64px;
}

.site-logo {
	font-size: 1.6rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.5px;
	text-decoration: none;
	flex-shrink: 0;
	line-height: 1;
}
.site-logo span { color: var(--pk-orange); }

/* Zoekbalk in donkere top bar */
.header-search {
	flex: 1;
	min-width: 0;
	max-width: 700px;
	display: flex;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .2s;
}
.header-search:focus-within {
	box-shadow: 0 0 0 3px rgba(232,75,28,.35);
}
.header-search input[type="search"] {
	flex: 1;
	border: none;
	outline: none;
	padding: 11px 16px;
	font-size: .95rem;
	background: none;
	min-width: 0;
	color: #111;
}
.header-search input[type="search"]::placeholder { color: #6b7280; }
.header-search button {
	background: var(--pk-orange);
	border: none;
	color: #fff;
	padding: 0 22px;
	cursor: pointer;
	transition: background .2s;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-weight: 600;
	font-size: .9rem;
	flex-shrink: 0;
}
.header-search button:hover { background: var(--pk-orange-dk); }
.header-search button span { display: none; }

.header-nav {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
}
.header-nav a {
	color: #fff;
	font-size: .9rem;
	font-weight: 500;
	padding: 8px 14px;
	border-radius: 6px;
	text-decoration: none;
	transition: background .15s;
}
.header-nav a:hover {
	background: rgba(255,255,255,.1);
	color: var(--pk-orange);
}

/* Mobile hamburger */
.header-mobile-toggle {
	display: none;
	background: transparent;
	border: 1px solid rgba(255,255,255,.2);
	color: #fff;
	padding: 8px;
	border-radius: 6px;
	cursor: pointer;
	flex-shrink: 0;
}

/* Oranje categorieën-balk */
.header-cats-bar {
	background: var(--pk-orange);
	color: #fff;
	border-bottom: 3px solid var(--pk-orange-dk);
}
.header-cats-bar__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	gap: 2px;
	overflow-x: auto;
	scrollbar-width: none;
}
.header-cats-bar__inner::-webkit-scrollbar { display: none; }

.header-cats-bar__group {
	position: relative;
	flex-shrink: 0;
}
.header-cats-bar__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 14px;
	font-size: .88rem;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	transition: background .15s;
	white-space: nowrap;
	border: none;
	background: transparent;
	cursor: pointer;
}
.header-cats-bar__item:hover,
.header-cats-bar__group.has-children:hover .header-cats-bar__item {
	background: rgba(0,0,0,.15);
	color: #fff;
}
.header-cats-bar__item--all {
	background: rgba(0,0,0,.2);
	font-weight: 700;
}
.header-cats-bar__item--all:hover { background: rgba(0,0,0,.3); }

/* Dropdown vanuit categorieën-balk */
.header-cats-bar__dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background: #fff;
	border: 1px solid var(--pk-gray-border);
	border-top: 3px solid var(--pk-orange);
	border-radius: 0 0 8px 8px;
	box-shadow: 0 10px 24px rgba(0,0,0,.1);
	padding: 8px 0;
	display: none;
	z-index: 1001;
	max-height: 70vh;
	overflow-y: auto;
}
.header-cats-bar__group.has-children:hover .header-cats-bar__dropdown,
.header-cats-bar__group.has-children:focus-within .header-cats-bar__dropdown {
	display: block;
}
.header-cats-bar__dropdown a {
	display: block;
	padding: 9px 16px;
	font-size: .85rem;
	color: var(--pk-blue);
	text-decoration: none;
	transition: background .15s, color .15s;
}
.header-cats-bar__dropdown a:hover {
	background: var(--pk-gray-bg);
	color: var(--pk-orange);
}


/* ============================================================
   Footer
   ============================================================ */
.site-footer {
	background: var(--pk-blue);
	color: rgba(255,255,255,.7);
	margin-top: 60px;
	padding: 40px 16px 24px;
}

.footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 32px;
}

.footer-col h4 {
	color: #fff;
	font-size: .85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin: 0 0 12px;
}

.footer-col a {
	display: block;
	color: rgba(255,255,255,.6);
	font-size: .85rem;
	margin-bottom: 6px;
	transition: color .15s;
}

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

.footer-bottom {
	max-width: 1200px;
	margin: 32px auto 0;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.1);
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: .8rem;
	flex-wrap: wrap;
	gap: 8px;
}

.footer-logo {
	font-size: 1.1rem;
	font-weight: 800;
	color: #fff;
	letter-spacing: -0.3px;
}

.footer-logo span { color: var(--pk-orange); }

.footer-disclaimer {
	font-size: .75rem;
	color: rgba(255,255,255,.4);
	margin-top: 16px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.5;
}

/* ============================================================
   Archive / Categorie pagina
   ============================================================ */
.pk-archive {
	padding: 24px 0;
}

.pk-archive__header {
	margin-bottom: 20px;
}

.pk-archive__title {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--pk-blue);
	margin: 0 0 4px;
}

.pk-archive__count {
	font-size: .85rem;
	color: var(--pk-gray-text);
}

.pk-archive__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}

/* Productkaart */
.pk-card {
	background: var(--pk-white);
	border-radius: var(--pk-radius);
	box-shadow: var(--pk-shadow);
	border: 1px solid var(--pk-gray-border);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s, transform .15s;
	text-decoration: none;
	color: inherit;
}

.pk-card:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,.12);
	transform: translateY(-2px);
}

.pk-card__img-wrap {
	aspect-ratio: 1;
	background: #fafafa;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 12px;
}

.pk-card__img {
	max-width: 100%;
	max-height: 160px;
	object-fit: contain;
}

.pk-card__img--placeholder {
	width: 100%;
	height: 160px;
	background: var(--pk-gray-bg);
}

.pk-card__body {
	padding: 12px;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.pk-card__title {
	font-size: .88rem;
	font-weight: 600;
	color: #1a1a1a;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pk-card__stores {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.pk-card__store-badge {
	font-size: .72rem;
	font-weight: 600;
	padding: 2px 7px;
	border-radius: 4px;
}

.pk-card__store-badge--bol {
	background: #e8ecff;
	color: #0000a4;
}

.pk-card__store-badge--amazon {
	background: #fff3dc;
	color: #c47e00;
}

.pk-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
}

.pk-card__price {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--pk-orange);
}

.pk-card__price-label {
	font-size: .7rem;
	color: var(--pk-gray-text);
	display: block;
	line-height: 1;
}

.pk-card__cta {
	background: var(--pk-orange);
	color: #fff;
	font-size: .78rem;
	font-weight: 700;
	padding: 6px 12px;
	border-radius: 6px;
	white-space: nowrap;
	transition: background .15s;
}

.pk-card:hover .pk-card__cta { background: var(--pk-orange-dk); }

/* ============================================================
   Product page — override plugin styles met Prijskeuze kleuren
   ============================================================ */

/* Offer best badge */
.pc-offer--best {
	border-color: var(--pk-green) !important;
	background: linear-gradient(135deg, var(--pk-green-lt) 0%, #fff 60%) !important;
}

.pc-offer__best-label {
	background: var(--pk-green) !important;
	color: #fff !important;
}

/* Offer buttons */
.pc-offer__btn--bol {
	background: #0000a4 !important;
}

.pc-offer__btn--amazon {
	background: #ff9900 !important;
	color: #1a1a1a !important;
}

.pc-offer__btn {
	border-radius: 8px !important;
	font-weight: 700 !important;
	font-size: .85rem !important;
	padding: 10px 18px !important;
	transition: opacity .15s !important;
}

.pc-offer__btn:hover { opacity: .88 !important; }

/* Deal badge */
.pc-deal-badge--great {
	background: var(--pk-green) !important;
	color: #fff !important;
}

.pc-deal-badge--good {
	background: #f0a500 !important;
	color: #fff !important;
}

/* Prijsalarm toggle */
.pc-alert-box__toggle {
	background: none !important;
	border: 2px solid var(--pk-orange) !important;
	color: var(--pk-orange) !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
}

.pc-alert-box__toggle:hover {
	background: var(--pk-orange) !important;
	color: #fff !important;
}

.pc-alert-box__submit {
	background: var(--pk-orange) !important;
	border-radius: 8px !important;
}

/* Store name kleuren */
.pc-offer__store-name--bol { color: #0000a4 !important; font-weight: 700 !important; }
.pc-offer__store-name--amazon { color: #c47e00 !important; font-weight: 700 !important; }

/* Hero lowest price */
.pc-hero__lowest-price {
	color: var(--pk-orange) !important;
}

/* Breadcrumb */
.pc-hero__breadcrumb a {
	color: var(--pk-orange) !important;
}

/* Section titles */
.pc-offers__title,
.pc-price-chart__title,
.pc-description__title,
.pc-specs__title,
.pc-related__title {
	color: var(--pk-blue) !important;
}

/* Related card price */
.pc-related__price {
	color: var(--pk-orange) !important;
}

/* Sticky CTA */
.pc-sticky-cta {
	background: var(--pk-blue) !important;
}

.pc-sticky-cta__btn {
	background: var(--pk-orange) !important;
	border-radius: 8px !important;
}

/* ============================================================
   Responsive
   ============================================================ */
@media (min-width: 640px) {
	.pk-archive__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 960px) {
	.pk-archive__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.header-nav { display: flex; }
}

@media (max-width: 900px) {
	.header-inner {
		flex-wrap: wrap;
		height: auto;
		padding: 10px 12px;
		gap: 10px;
	}
	.site-logo {
		font-size: 1.3rem;
		flex: 0 0 auto;
	}
	.header-cats-toggle {
		padding: 8px 12px;
		font-size: .85rem;
		margin-left: auto;
	}
	.header-search {
		flex-basis: 100%;
		order: 5;
	}
	.header-nav { display: none; }
}

@media (max-width: 600px) {
	.footer-inner {
		grid-template-columns: 1fr 1fr;
	}
	.header-cats-menu {
		left: -8px;
		min-width: 280px;
		max-width: calc(100vw - 24px);
	}
	.header-search input[type="search"] { padding: 9px 12px; font-size: .9rem; }
	.header-search button { padding: 0 14px; }
}
