/* Woo/overige pagina's in Konfettie-stijl (parent = Twenty Twenty-Five) */
body { background: #FFF7EC; color: #1A1530; font-family: "DM Sans", system-ui, sans-serif; }
h1, h2, h3, .wp-block-site-title, .wp-block-post-title, .wc-block-components-product-name { font-family: "Bricolage Grotesque", system-ui, sans-serif !important; letter-spacing: -.02em; }
.wp-block-site-title a { font-weight: 800; letter-spacing: -.04em; text-decoration: none; }
.wp-block-button__link, .button, button.single_add_to_cart_button, .wc-block-components-button { background: #1A1530 !important; color: #FFF7EC !important; border-radius: 999px !important; font-weight: 600 !important; }
.wp-block-button__link:hover, .button:hover, .wc-block-components-button:hover { background: #FF4F8B !important; }
.wc-block-components-product-image img, .wp-block-woocommerce-product-image img, .woocommerce-product-gallery img { border-radius: 22px; border: 2px solid #1A1530; }
.wc-block-components-product-price, .price { font-family: "Bricolage Grotesque", sans-serif; font-weight: 700; }
ins { text-decoration: none; color: #FF4F8B; }
a { color: #1A1530; }

/* eigen header/footer (vervangt Twenty Twenty-Five parts) */
.kf-promo { display: block; background: #FF4F8B; color: #fff !important; text-align: center; padding: 9px 16px; font-size: 14px; text-decoration: none; }
.kf-promo .code { background: #FFC93C; color: #1A1530; padding: 1px 7px; border-radius: 6px; letter-spacing: .06em; }
.kf-head { padding: 16px clamp(16px, 4vw, 48px); border-bottom: 1px solid rgba(26, 21, 48, .12); gap: 24px; }
.kf-head > p, .kf-head > br { display: none; }
.kf-logo { font: 800 28px/1 "Bricolage Grotesque", sans-serif; letter-spacing: -.04em; text-decoration: none; color: #1A1530 !important; display: inline-flex; align-items: flex-start; }
.kf-dots { display: inline-flex; gap: 3px; margin: 2px 0 0 4px; }
.kf-dots i { width: 7px; height: 7px; border-radius: 50%; background: #FF4F8B; }
.kf-dots i:nth-child(2) { background: #FFC93C; transform: translateY(5px); }
.kf-dots i:nth-child(3) { background: #3D7BFF; }
.kf-nav { display: flex; gap: 26px; margin-left: auto; margin-right: 12px; font-weight: 500; }
.kf-nav a { text-decoration: none; }
.kf-nav a:hover { color: #FF4F8B; }
.kf-foot { background: #1A1530; color: #FFF7EC; padding: 64px clamp(16px, 4vw, 48px) 28px; margin-top: 64px; }
.kf-foot-in { max-width: 1360px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px; }
.kf-foot .kf-logo { color: #FFF7EC !important; }
.kf-foot p { color: rgba(255, 247, 236, .65); margin: 14px 0 0; }
.kf-foot h4 { font: 600 14px/1 "DM Sans", sans-serif; text-transform: uppercase; letter-spacing: .1em; color: #FFC93C; margin: 0 0 14px; }
.kf-foot-in a:not(.kf-logo) { display: block; color: rgba(255, 247, 236, .8); padding: 4px 0; text-decoration: none; }
.kf-foot-in a:hover { color: #fff; }
.kf-legal { max-width: 1360px; margin: 48px auto 0 !important; padding-top: 22px; border-top: 1px solid rgba(255, 247, 236, .15); font-size: 13px; }
@media (max-width: 800px) { .kf-nav { display: none; } .kf-foot-in { grid-template-columns: 1fr 1fr; } }
