/* Printcandy op Blocksy – huisstijl in een modern jasje (okt 2026) */
:root:root {
	--pc-ink: #2f3534;
	--pc-text: #4a5150;
	--pc-muted: #7b8584;
	--pc-mint: #ccddda;
	--pc-mint-soft: #edf4f2;
	--pc-teal: #3d7a6e;
	--pc-teal-dark: #2d5f55;
	--pc-mustard: #e7b752;
	--pc-mustard-dark: #d6a33b;
	--pc-cream: #faf7f2;
	--pc-line: #e4e9e8;
	--pc-radius: 14px;
	--pc-shadow: 0 10px 30px rgba(47, 53, 52, .08);

	--theme-palette-color-1: var(--pc-teal);
	--theme-palette-color-2: var(--pc-teal-dark);
	--theme-palette-color-3: var(--pc-text);
	--theme-palette-color-4: var(--pc-ink);
	--theme-palette-color-5: var(--pc-line);
	--theme-palette-color-6: var(--pc-mint-soft);
	--theme-palette-color-7: var(--pc-cream);
	--theme-palette-color-8: #ffffff;
	--theme-text-color: var(--pc-text);
	--theme-headings-color: var(--pc-ink);
	--theme-link-initial-color: var(--pc-teal);
	--theme-link-hover-color: var(--pc-teal-dark);
	--theme-button-background-initial-color: var(--pc-mustard);
	--theme-button-background-hover-color: var(--pc-mustard-dark);
	--theme-button-text-initial-color: var(--pc-ink);
	--theme-button-text-hover-color: var(--pc-ink);
	--theme-font-family: 'Nunito Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--theme-normal-container-max-width: 1240px;
	--theme-border-radius: 10px;
}
body { background: #fff; font-family: 'Nunito Sans', system-ui, sans-serif; font-size: 16px; line-height: 1.65; color: var(--pc-text); }
h1, h2, h3, h4, h5, h6, .page-title, .product_title, .woocommerce-loop-product__title, .ct-menu-link {
	font-family: 'Roboto Condensed', 'Arial Narrow', sans-serif;
	letter-spacing: .01em;
}
h1, .page-title, .product_title { font-weight: 700; color: var(--pc-ink); }
h2 { font-weight: 700; }
a { text-underline-offset: 3px; }

/* Knoppen */
.button, button.button, .single_add_to_carts_button, .wp-element-button, .pc-btn,
.woocommerce a.button, .woocommerce button.button, input[type="submit"] {
	border-radius: 999px !important;
	font-weight: 700;
	letter-spacing: .02em;
}
.pc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 28px; background: var(--pc-mustard); color: var(--pc-ink) !important; text-decoration: none; transition: background .2s, transform .2s; }
.pc-btn:hover { background: var(--pc-mustard-dark); transform: translateY(-1px); }
.pc-btn-ghost { background: transparent; box-shadow: inset 0 0 0 2px var(--pc-ink); }
.pc-btn-ghost:hover { background: var(--pc-ink); color: #fff !important; }

.pc-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* Topbalk */
.pc-topbar { background: var(--pc-ink); color: #fff; font-size: 13px; }
.pc-topbar ul { display: flex; justify-content: center; gap: 36px; margin: 0; padding: 9px 0; list-style: none; }
.pc-topbar li { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.pc-topbar svg { width: 14px; height: 14px; fill: var(--pc-mustard); }
@media (max-width: 900px) {
	.pc-topbar ul { justify-content: flex-start; overflow-x: auto; gap: 24px; scrollbar-width: none; }
	.pc-topbar ul::-webkit-scrollbar { display: none; }
}

/* Header */
.ct-header [data-row="middle"] { border-bottom: 1px solid var(--pc-line); }
.ct-header .ct-menu-link { font-size: 15px; font-weight: 600; text-transform: none; color: var(--pc-ink); }
.ct-header .menu > li > .ct-menu-link { text-transform: none; }
.ct-header .sub-menu { border-radius: 12px; box-shadow: var(--pc-shadow); padding: 8px 0; }
.ct-header .sub-menu .ct-menu-link { font-family: 'Nunito Sans', sans-serif; font-weight: 600; font-size: 14px; text-transform: none; }

/* Hero (homepage) */
.home .hero-section, .home .entry-header { display: none; }
.home .site-main > .ct-container, .home .ct-container-full { padding-top: 0; }
.pc-hero { background: linear-gradient(180deg, var(--pc-mint-soft) 0%, #fff 100%); }
.pc-hero-inner { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; padding-top: 64px; padding-bottom: 64px; }
.pc-eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: 13px; font-weight: 700; color: var(--pc-teal); margin-bottom: 12px; }
.pc-hero h1 { font-size: clamp(34px, 4.6vw, 56px); line-height: 1.08; margin: 0 0 18px; }
.pc-lead { font-size: 18px; max-width: 540px; margin-bottom: 28px; }
.pc-hero-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.pc-hero-usps { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; margin: 24px 0 0; padding: 0; font-size: 14px; color: var(--pc-muted); }
.pc-hero-usps li::before { content: '✓ '; color: var(--pc-teal); font-weight: 700; }
.pc-hero-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 24px; box-shadow: var(--pc-shadow); }
@media (max-width: 900px) {
	.pc-hero-inner { grid-template-columns: 1fr; gap: 28px; padding-top: 28px; padding-bottom: 36px; }
	.pc-hero-img { order: -1; }
	.pc-hero-img img { aspect-ratio: 4 / 3; border-radius: 18px; }
	.pc-lead { font-size: 16px; }
}

/* Secties */
.pc-section { padding: 64px 0; }
.pc-section + .pc-section { padding-top: 24px; }
.pc-head { text-align: center; max-width: 640px; margin: 0 auto 32px; }
.pc-head h2 { font-size: clamp(26px, 3vw, 36px); margin: 0 0 8px; }
.pc-head p { color: var(--pc-muted); margin: 0; }
.pc-tiles { display: grid; gap: 18px; }
.pc-tiles-6 { grid-template-columns: repeat(6, 1fr); }
.pc-tiles-4 { grid-template-columns: repeat(4, 1fr); }
.pc-tile { display: block; text-decoration: none; color: var(--pc-ink); border-radius: var(--pc-radius); background: var(--pc-cream); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.pc-tile:hover { transform: translateY(-4px); box-shadow: var(--pc-shadow); }
.pc-tile-img { display: block; aspect-ratio: 4 / 5; overflow: hidden; }
.pc-tile-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.pc-tile:hover img { transform: scale(1.04); }
.pc-tile-txt { display: block; padding: 12px 14px 14px; }
.pc-tile-txt strong { display: block; font-family: 'Roboto Condensed', sans-serif; font-size: 18px; }
.pc-tile-txt small { color: var(--pc-muted); font-size: 13px; }
@media (max-width: 1000px) { .pc-tiles-6 { grid-template-columns: repeat(3, 1fr); } .pc-tiles-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .pc-tiles { gap: 12px; } .pc-tiles-6 { grid-template-columns: repeat(2, 1fr); } .pc-section { padding: 44px 0; } }

.pc-steps-sec { background: var(--pc-cream); }
.pc-section.pc-steps-sec { padding-top: 56px; padding-bottom: 56px; }
.pc-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; margin: 0; padding: 0; counter-reset: none; }
.pc-steps li { background: #fff; border-radius: var(--pc-radius); padding: 28px; }
.pc-steps span { display: inline-flex; width: 38px; height: 38px; border-radius: 50%; background: var(--pc-mint); color: var(--pc-ink); font-weight: 800; align-items: center; justify-content: center; margin-bottom: 12px; }
.pc-steps strong { display: block; font-family: 'Roboto Condensed', sans-serif; font-size: 20px; color: var(--pc-ink); margin-bottom: 6px; }
.pc-steps p { margin: 0; }
@media (max-width: 800px) { .pc-steps { grid-template-columns: 1fr; } }

.pc-materials { background: var(--pc-mint-soft); }
.pc-section.pc-materials { padding-top: 56px; padding-bottom: 56px; }
.pc-story-inner { max-width: 760px; text-align: center; }
.pc-story h2 { font-size: clamp(24px, 2.6vw, 32px); }

/* Productkaarten */
.products .product { text-align: left; }
.products .product figure, .products .ct-media-container { border-radius: var(--pc-radius); overflow: hidden; background: var(--pc-cream); }
.woocommerce-loop-product__title { font-size: 17px !important; font-weight: 600; color: var(--pc-ink); }
.products .price { color: var(--pc-teal) !important; font-weight: 700; }
.products .entry-meta, .products .ct-woo-card-extra { font-size: 12px; }

/* Categoriepagina's */
.pc-clamp { max-height: 7.2em; overflow: hidden; position: relative; }
.pc-clamp::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2.6em; background: linear-gradient(rgba(255,255,255,0), #fff); }
.pc-clamp.pc-open { max-height: none; }
.pc-clamp.pc-open::after { display: none; }
.pc-more { background: none !important; border: 0; color: var(--pc-teal) !important; font-weight: 700; padding: 6px 0 !important; min-height: 0 !important; cursor: pointer; text-decoration: underline; }
.prodcat-extrainfo, .pc-cat-seo { max-width: 860px; margin: 48px auto 0; }

/* Productpagina */
.single-product .product_title { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; }
.single-product .summary .price { color: var(--pc-teal); font-size: 22px; font-weight: 700; }
.single-product .woocommerce-product-gallery { border-radius: var(--pc-radius); overflow: hidden; }
.single-product .flex-control-thumbs img { border-radius: 8px; }
.pc-levertijd { color: var(--pc-teal); }

/* Oude pagebuilder-inhoud */
.pc-spb-text { margin-bottom: 1.2em; }
.pc-spb-accordion { margin: 24px 0; border-top: 1px solid var(--pc-line); }
details.pc-acc { border-bottom: 1px solid var(--pc-line); }
details.pc-acc > summary { cursor: pointer; padding: 16px 32px 16px 0; font-family: 'Roboto Condensed', sans-serif; font-weight: 700; font-size: 18px; color: var(--pc-ink); list-style: none; position: relative; }
details.pc-acc > summary::-webkit-details-marker { display: none; }
details.pc-acc > summary::after { content: '+'; position: absolute; right: 4px; top: 12px; font-size: 22px; color: var(--pc-teal); }
details.pc-acc[open] > summary::after { content: '–'; }
.pc-acc-body { padding: 0 0 16px; }
.pc-spb-img { max-width: 100%; height: auto; border-radius: 10px; }

/* Footer */
#footer.ct-footer { display: none; }
.pc-footer { background: var(--pc-ink); color: #c9d0cf; padding: 64px 0 24px; font-size: 15px; }
.pc-footer a { color: #fff; text-decoration: none; }
.pc-footer a:hover { color: var(--pc-mustard); }
.pc-footer-grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 32px; }
.pc-footer-logo { display: block; font-family: 'Roboto Condensed', sans-serif; font-size: 30px; letter-spacing: .12em; color: #fff; margin-bottom: 12px; }
.pc-footer h4 { color: #fff; font-size: 17px; margin: 0 0 12px; }
.pc-footer ul { list-style: none; margin: 0; padding: 0; }
.pc-footer li { margin: 0 0 8px; }
.pc-social { display: flex; gap: 14px; margin-top: 10px; font-size: 14px; }
.pc-footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid rgba(255,255,255,.12); margin-top: 40px; padding-top: 20px; font-size: 13px; color: #9aa3a2; }
@media (max-width: 1000px) { .pc-footer-grid { grid-template-columns: 1fr 1fr; } .pc-footer-about { grid-column: 1 / -1; } }

/* Logo zonder tekst-sitetitel */
.ct-header .site-title-container, .ct-header .site-title, .ct-header .site-description { display: none !important; }
.ct-header .site-logo-container { --logo-max-height: 44px; }
.ct-header .site-logo-container img { max-height: 44px; width: auto; }
/* Rustigere ruimte tussen secties */
.pc-section { padding: 56px 0; }

/* Achtergrond en volle breedte */
html body, body .site-main, .ct-container-full { background-color: #fff !important; }
.home .ct-container-full { padding-bottom: 0; }
.entry-content > .pc-hero, .entry-content > .pc-section { max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; width: 100%; }
.home .entry-content > * { margin-block-start: 0; margin-top: 0; }
html, body { overflow-x: clip; }

/* Productkaarten: rustig */
[data-products] .entry-meta, .products .meta-categories { display: none !important; }
[data-products] .button, .products .button { background: var(--pc-mustard) !important; color: var(--pc-ink) !important; border: 0; }
[data-products] .button:hover, .products .button:hover { background: var(--pc-mustard-dark) !important; }
[data-products] .star-rating { color: var(--pc-mustard); }
@media (max-width: 689px) {
	[data-products] { --shop-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 14px !important; row-gap: 24px !important; }
	.woocommerce-loop-product__title { font-size: 15px !important; }
	[data-products] .button { font-size: 13px; padding: 0 14px; min-height: 36px; }
}

/* Mobiele header */
@media (max-width: 999px) {
	.ct-header [data-device="mobile"] .site-logo-container { --logo-max-height: 30px !important; }
	.ct-header [data-device="mobile"] .site-logo-container img { max-height: 30px !important; width: auto !important; }
	.pc-steps li { padding: 20px; }
	.pc-hero-cta .pc-btn { flex: 1 1 100%; }
}

/* Categorie-header: rustig, zonder achtergrondfoto */
.tax-product_cat .hero-section[data-type="type-2"] { background: var(--pc-mint-soft); min-height: 0 !important; }
.tax-product_cat .hero-section[data-type="type-2"] > figure, .tax-product_cat .hero-section .ct-media-container { display: none !important; }
.tax-product_cat .hero-section[data-type="type-2"] .entry-header { padding: 48px 0 36px; }
.tax-product_cat .hero-section, .tax-product_cat .hero-section h1, .tax-product_cat .hero-section .page-description { color: var(--pc-ink) !important; --theme-text-color: var(--pc-text); --theme-heading-color: var(--pc-ink); }
.tax-product_cat .hero-section .page-title { font-size: clamp(30px, 4vw, 46px); }
.tax-product_cat .hero-section .page-description { max-width: 760px; margin-left: auto; margin-right: auto; }
.pc-clamp::after { background: linear-gradient(rgba(237,244,242,0), var(--pc-mint-soft)); }

/* Productpagina */
.single-product .product_meta, .single-product .ct-product-divider[data-id="divider_2"] { display: none !important; }
.single-product .customizetitle, .single-product h2[style*="8eb4ac"] { color: var(--pc-ink) !important; font-size: 24px !important; margin: 0 0 12px; }
.woocommerce-tabs .tabs { gap: 8px; border: 0 !important; justify-content: center; margin-bottom: 24px; }
.woocommerce-tabs .tabs li { border: 0 !important; }
.woocommerce-tabs .tabs li a { display: block; padding: 10px 22px !important; border-radius: 999px; background: var(--pc-cream); color: var(--pc-ink) !important; font-weight: 700; text-transform: none !important; font-size: 15px !important; }
.woocommerce-tabs .tabs li.active a { background: var(--pc-ink); color: #fff !important; }
.woocommerce-tabs .tabs li::before, .woocommerce-tabs .tabs li::after { display: none !important; }
.woocommerce-Tabs-panel { max-width: 860px; margin: 0 auto; }
.woocommerce-Tabs-panel h2 { font-size: clamp(24px, 2.6vw, 32px); }
.woocommerce-Tabs-panel h3 { font-size: 21px; }

@media (max-width: 999px) {
	.ct-header [data-device="mobile"] .site-logo-container img { max-width: 118px !important; height: auto !important; }
	.ct-header [data-device="mobile"] [data-id="search"] { display: none !important; }
}

/* Dropdown wit */
.ct-header .sub-menu { --dropdown-background-color: #fff; background-color: #fff !important; border: 1px solid var(--pc-line); }
.ct-header .sub-menu .ct-menu-link, .ct-header .sub-menu a { color: var(--pc-ink) !important; --theme-link-initial-color: var(--pc-ink); }
.ct-header .sub-menu li:hover > .ct-menu-link, .ct-header .sub-menu .ct-menu-link:hover { color: var(--pc-teal) !important; background: var(--pc-mint-soft); }
.ct-header .sub-menu .sub-menu { margin-top: 0; }
/* Tegels en kaarten wit */
.pc-tile { background: #fff; border: 1px solid var(--pc-line); }
.products .product figure, .products .ct-media-container, [data-products] .ct-media-container { background: #fff !important; }

/* Blogoverzicht */
.pc-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pc-blog-card { display: block; text-decoration: none; color: var(--pc-text); background: #fff; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); overflow: hidden; transition: transform .25s, box-shadow .25s; }
.pc-blog-card:hover { transform: translateY(-4px); box-shadow: var(--pc-shadow); }
.pc-blog-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.pc-blog-txt { display: block; padding: 16px 18px 20px; }
.pc-blog-txt small { color: var(--pc-muted); font-size: 13px; }
.pc-blog-txt strong { display: block; font-family: "Roboto Condensed", sans-serif; font-size: 20px; color: var(--pc-ink); margin: 4px 0 8px; line-height: 1.2; }
.pc-blog-txt span { font-size: 15px; }
.pc-blog-pages { margin-top: 32px; display: flex; gap: 8px; justify-content: center; }
@media (max-width: 900px) { .pc-blog-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .pc-blog-grid { grid-template-columns: 1fr; } }
