/*
Theme Name: Postzegelhuis
Description: Klassiek WooCommerce-thema voor een postzegelwinkel. Geen externe fonts of trackers (AVG-vriendelijk).
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Author: Postzegelhuis
License: GPL-2.0-or-later
Text Domain: postzegelhuis
Tags: e-commerce, woocommerce, custom-menu, custom-logo, full-width-template
Elementor tested up to: 3.25
*/

:root{
  --paper:#f6f1e6; --card:#fffdf7; --ink:#1f2430; --muted:#6a6455;
  --accent:#8c2232; --accent-dark:#6e1826; --navy:#22355e; --line:#e2d9c5;
  --serif: Georgia, "Times New Roman", "DejaVu Serif", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --wrap: 1180px; --radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}
:where(a){color:var(--accent)} :where(a:hover){color:var(--accent-dark)}
:where(img){max-width:100%;height:auto}
:where(h1,h2,h3,h4){font-family:var(--serif);line-height:1.2;color:var(--ink)}
:where(h1){font-size:2.2rem} :where(h2){font-size:1.6rem}
:where(.entry-content,.woocommerce-tabs,.site-main:not(.site-main--elementor)) :where(h2){margin-top:2.2rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link:focus{clip:auto;width:auto;height:auto;background:#fff;padding:8px 12px;z-index:999;top:8px;left:8px}

/* Topbar & header */
.topbar{background:var(--navy);color:#e9e4d6;font-size:.85rem}
.topbar .wrap{display:flex;gap:24px;justify-content:center;padding:6px 20px;flex-wrap:wrap}
.site-header{background:var(--card);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:24px;padding:16px 20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-mark{width:44px;height:52px;background:var(--accent);color:#fff;display:grid;place-items:center;font:700 1.5rem var(--serif);
  outline:3px dotted var(--card);outline-offset:-6px;border:3px solid var(--accent)}
.brand-name{font:700 1.45rem var(--serif)} .brand-tag{display:block;font-size:.8rem;color:var(--muted)}
.header-search{flex:1;min-width:200px;max-width:380px;margin-left:auto}
.header-search form{display:flex}
.header-search input[type=search]{flex:1;padding:9px 12px;border:1px solid var(--line);border-radius:var(--radius) 0 0 var(--radius);font:inherit;background:#fff}
.header-search button{border:0;background:var(--navy);color:#fff;padding:0 14px;border-radius:0 var(--radius) var(--radius) 0;cursor:pointer}
.header-icons{display:flex;gap:16px;align-items:center}
.header-icons a{text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem}
.cart-count{background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-size:.8rem;margin-left:4px}
.main-nav{background:var(--card);border-bottom:3px double var(--line)}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.main-nav a{display:block;padding:12px 14px;text-decoration:none;color:var(--ink);font-weight:600}
.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--accent)}
.nav-toggle{display:none}
@media (max-width:760px){
  .nav-toggle{display:block;background:none;border:1px solid var(--line);padding:8px 12px;border-radius:var(--radius);font:inherit;margin:8px 0}
  .main-nav ul{display:none;flex-direction:column}
  .main-nav.open ul{display:flex}
  .header-search{order:3;max-width:none;flex-basis:100%}
}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy),#14203b);color:#f3eee1;padding:64px 0}
.hero .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.hero h1{color:#fff;font-size:2.6rem;margin:0 0 12px}
.hero p{font-size:1.1rem;color:#d9d3c3;max-width:34em}
.hero-stamps{display:flex;gap:16px;justify-content:center}
.hero-stamps span{width:110px;height:132px;background:var(--accent);display:grid;place-items:center;color:#fff;font:700 3rem var(--serif);
  border:8px solid #fffdf7;box-shadow:0 8px 24px rgba(0,0,0,.35);outline:4px dotted #14203b;outline-offset:-4px}
.hero-stamps span:nth-child(2){background:#2f6b3a;transform:rotate(4deg) translateY(10px)}
.hero-stamps span:nth-child(3){background:#9a4b1c;transform:rotate(-5deg)}
.btn,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--accent);color:#fff;border:0;border-radius:var(--radius);
  padding:11px 20px;font-weight:600;text-decoration:none;display:inline-block}
.btn:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--accent-dark);color:#fff}
.btn-light{background:#fffdf7;color:var(--navy)} .btn-light:hover{background:#fff;color:var(--accent)}
@media (max-width:760px){.hero .wrap{grid-template-columns:1fr}.hero-stamps{display:none}.hero h1{font-size:2rem}}

/* USP strip */
.usps{background:var(--card);border-bottom:1px solid var(--line)}
.usps ul{list-style:none;margin:0;padding:14px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;text-align:center;font-weight:600;color:var(--navy)}

/* Content */
.site-main{padding:36px 0 60px}
.entry-content > *:first-child{margin-top:0}
.page-title{margin-top:0}

/* WooCommerce */
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px;text-align:center;transition:transform .15s, box-shadow .15s}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(31,36,48,.08)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--serif);font-size:1rem;color:var(--ink)}
.woocommerce ul.products li.product .price{color:var(--accent);font-weight:700;font-size:1.1rem}
.woocommerce ul.products li.product-category h2{font-size:1.15rem}
.pz-loop-staat{display:block;font-size:.8rem;color:var(--muted);margin:-4px 0 6px}
.pz-badges{display:flex;flex-wrap:wrap;gap:8px}
.pz-badge{background:#ece4d1;color:var(--ink);padding:3px 10px;border-radius:999px;font-size:.85rem;font-weight:600}
.pz-badge--staat{background:var(--navy);color:#fff}
.pz-note{font-size:.85rem;color:var(--muted)}
.pz-filter{float:right;margin:0 0 1em 1em}
.pz-filter select,.woocommerce .woocommerce-ordering select{padding:7px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.woocommerce div.product .product_title{font-size:2rem}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--accent);font-size:1.5rem;font-weight:700}
.woocommerce div.product div.images img{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.woocommerce span.onsale{background:var(--accent)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--navy)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--navy)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{padding:9px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}

/* Footer */
.site-footer{background:#1a2238;color:#cfc8b6;padding:40px 0 20px;font-size:.92rem}
.site-footer a{color:#fff}
.footer-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:30px}
.site-footer h3{color:#fff;font-size:1.1rem;margin-top:0}
.site-footer ul{list-style:none;padding:0;margin:0}
.site-footer li{margin:4px 0}
.footer-bottom{border-top:1px solid #2e3854;margin-top:30px;padding-top:16px;font-size:.82rem;text-align:center}

/* Elementor */
.site-main--elementor{padding:0}
.site-main--elementor > .elementor,.elementor-page .site-main--elementor{width:100%}
.site-main--after-elementor{padding-top:28px}
/* Thema-kaarten niet opdringen aan Elementor-widgets */
.elementor ul.products li.product{transition:none}
.elementor-widget-shortcode .woocommerce ul.products{margin-bottom:0}
.elementor .pz-filter{float:none}
/* Elementor-inhoud bij producten: volle breedte onder de koopknop */
.pzh-product-elementor{clear:both;padding:24px 0}
.pzh-product-elementor .elementor-section.elementor-section-boxed>.elementor-container{max-width:100%}
/* Elementor-headers uit Theme Builder: niets van het thema erbij */
.elementor-location-header ~ #content > .site-main{padding-top:28px}
