/*
Theme Name: Boxsprings Nederland Premium
Theme URI: https://example.com/boxsprings-nederland
Author: OpenAI
Description: Warm, premium WooCommerce thema voor Boxsprings Nederland met Gutenberg ondersteuning.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: boxsprings-nederland
*/
:root{
 --bn-navy:#0d1b2a;--bn-navy-2:#15263a;--bn-ink:#1f2933;--bn-muted:#66717d;
 --bn-cream:#f8f5f0;--bn-sand:#e9dfd0;--bn-accent:#b9895b;--bn-white:#fff;
 --bn-border:#ded7ce;--bn-radius:22px;--bn-shadow:0 18px 60px rgba(13,27,42,.10);
 --bn-container:1240px;--bn-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
 --bn-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bn-cream);color:var(--bn-ink);font-family:var(--bn-sans);line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.bn-container{width:min(calc(100% - 40px),var(--bn-container));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,245,240,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(13,27,42,.08)}.bn-topbar{background:var(--bn-navy);color:#fff;font-size:.83rem;letter-spacing:.01em}.bn-topbar .bn-container{min-height:36px;display:flex;gap:28px;align-items:center;justify-content:center;flex-wrap:wrap}.bn-header{min-height:82px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px}.bn-brand{display:flex;align-items:center;gap:13px}.bn-brand-logo{max-height: 60px;}.bn-brand-mark{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:var(--bn-navy);color:#fff;font-family:var(--bn-serif);font-size:1.05rem;font-weight:700}.bn-brand-name{font-family:var(--bn-serif);font-size:1.32rem;font-weight:700;letter-spacing:-.02em;color:var(--bn-navy)}.custom-logo{max-height:52px;width:auto}.bn-nav ul{display:flex;justify-content:center;gap:30px;list-style:none;margin:0;padding:0}.bn-nav a{font-size:.93rem;font-weight:650;color:var(--bn-navy)}.bn-nav a:hover{opacity:.65}.bn-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.bn-shop-bestsellers {
    margin-top: 90px;
    padding-top: 70px;
    border-top: 1px solid var(--bn-border);
}

.bn-shop-bestsellers-head {
    margin-bottom: 34px;
}

.woocommerce ul.products {
    align-items: stretch;
}

.woocommerce ul.products li.product {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* Het klikbare productgedeelte neemt alle beschikbare ruimte in */
.woocommerce ul.products li.product
a.woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
    flex: 1;
}

/* Knop altijd onderaan */
.woocommerce ul.products li.product .button {
    margin-top: auto !important;
    align-self: flex-start;
}

.bn-shop-bestsellers-head h2 {
    margin: 6px 0 10px;
    font-family: var(--bn-serif);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 600;
    line-height: 1.02;
    letter-spacing: -.045em;
    color: var(--bn-navy);
}

.bn-shop-bestsellers-head p {
    margin: 0;
    max-width: 600px;
    color: var(--bn-muted);
}

@media (max-width: 650px) {
    .bn-shop-bestsellers {
        margin-top: 60px;
        padding-top: 45px;
    }
}
.bn-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    color: var(--bn-navy);
    border-radius: 50%;
    transition:
        background-color .2s ease,
        transform .2s ease;
}

.bn-cart:hover {
    background: rgba(13, 27, 42, .06);
    transform: translateY(-1px);
}

.bn-cart-icon {
    display: block;
    width: 25px;
    height: 25px;
}

.bn-cart-count {
    position: absolute;
    top: 1px;
    right: -3px;

    display: grid;
    place-items: center;

    min-width: 20px;
    height: 20px;
    padding: 0 5px;

    border-radius: 999px;
    background: var(--bn-navy);
    color: #fff;

    font-size: .68rem;
    font-weight: 800;
    line-height: 1;

    border: 2px solid var(--bn-cream);
}.bn-cart-count.is-empty {
    display: none;
}.bn-btn,.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--bn-navy)!important;border-radius:999px!important;padding:13px 21px!important;background:var(--bn-navy)!important;color:#fff!important;font-weight:750!important;line-height:1.15!important;transition:.2s ease}.bn-btn:hover,.wp-element-button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:var(--bn-navy-2)!important;transform:translateY(-1px)}.bn-btn--light{background:transparent!important;color:var(--bn-navy)!important}.bn-btn--cream{background:var(--bn-cream)!important;color:var(--bn-navy)!important;border-color:var(--bn-cream)!important}







.bn-hero {
    padding: 42px 0 78px;
}

.bn-hero-card {
    position: relative;
    min-height: 590px;
    overflow: hidden;

    display: grid;
    grid-template-columns: 48% 52%;
    align-items: center;

    border-radius: 32px;

    background:
        radial-gradient(
            circle at 78% 25%,
            rgba(255,255,255,.08),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            #142333 0%,
            #25313d 55%,
            #45484a 100%
        );

    box-shadow:
        0 28px 70px rgba(13,27,42,.14);
}

.bn-hero-copy {
    position: relative;
    z-index: 2;

    padding: 68px 20px 68px 64px;

    color: #fff;
}

.bn-kicker {
    display: block;

    margin-bottom: 18px;

    color: var(--bn-accent);

    font-size: .76rem;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .14em;
}

.bn-hero h1 {
    max-width: 560px;

    margin: 12px 0 24px;

    font-family: var(--bn-serif);
    font-size: clamp(3.7rem, 5.4vw, 5.6rem);
    font-weight: 600;

    line-height: .97;
    letter-spacing: -.05em;

    color: #fff;
}

.bn-kicker-p {
    margin: 0;
    max-width: 600px;
    color: var(--bn-muted);
}
.bn-hero p {
    max-width: 500px;
    margin: 0;

    color: rgba(255,255,255,.78);

    font-size: 1.05rem;
    line-height: 1.7;
}

.bn-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;

    margin-top: 30px;
}

/* Echte boxspring-afbeelding */
.bn-hero-media {
    position: relative;

    height: 100%;
    min-height: 590px;
    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}

.bn-hero-media img {
    position: relative;
    z-index: 1;
    width: 112%;
    height: auto;
    object-fit: contain;
    transform: translateX(-2%);
}

/* Subtiele gloed achter het product */
.bn-hero-media::before {
    content: "";

    position: absolute;
    width: 470px;
    height: 470px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(214,195,176,.18),
            rgba(214,195,176,0) 70%
        );
}

@media (max-width: 800px) {
    .bn-hero-card {
        grid-template-columns: 1fr;
    }

    .bn-hero-copy {
        padding: 42px 28px 20px;
    }

    .bn-hero-media {
        min-height: 330px;
    }

    .bn-hero-media img {
        width: 105%;
        transform: none;
    }
}
.bn-section{padding:82px 0}.bn-section--white{background:#fff}.bn-section--navy{background:var(--bn-navy);color:#fff}.bn-section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.bn-section-head h2{font-family:var(--bn-serif);font-size:clamp(2.5rem,5vw,4.5rem);font-weight:600;letter-spacing:-.045em;line-height:1.02;margin:6px 0}.bn-section-head p{color:var(--bn-muted);max-width:620px;margin:0}.bn-section--navy .bn-section-head p{color:rgba(255,255,255,.68)}
.bn-usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.bn-usp{padding:22px 18px;border-top:1px solid var(--bn-border)}.bn-usp strong{display:block;color:var(--bn-navy);font-family:var(--bn-serif);font-size:1.15rem;margin-bottom:4px}.bn-usp span{font-size:.9rem;color:var(--bn-muted)}
.bn-shop-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr .75fr;
    gap: 18px;
}

.bn-shop-tile {
    position: relative;

    min-height: 330px;

    display: flex;
    align-items: flex-end;

    overflow: hidden;

    border-radius: 26px;

    background: var(--bn-sand);

    color: #fff;
}

/* Categorie-afbeelding */
.bn-shop-tile-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .5s ease,
        filter .5s ease;
}

/* Donkere gradient voor leesbaarheid */
.bn-shop-tile-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(13,27,42,0) 30%,
            rgba(13,27,42,.18) 55%,
            rgba(13,27,42,.82) 100%
        );

    z-index: 1;
}

/* Tekst */
.bn-shop-tile-content {
    position: relative;
    z-index: 2;

    width: 100%;
    padding: 28px;
}

.bn-shop-tile h3 {
    margin: 0 0 5px;

    font-family: var(--bn-serif);
    font-size: 2rem;
    line-height: 1.05;

    color: #fff;
}

.bn-shop-tile p {
    margin: 0;

    max-width: 36ch;

    font-size: .94rem;

    color: rgba(255,255,255,.78);
}

/* Premium hover */
.bn-shop-tile:hover .bn-shop-tile-image {
    transform: scale(1.04);
    filter: brightness(.94);
}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product{float:none!important;width:auto!important;margin:0!important;background:#fff;border:1px solid var(--bn-border);border-radius:20px;padding:14px;overflow:hidden;transition:.22s ease}.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--bn-shadow)}.woocommerce ul.products li.product a img{border-radius:14px;aspect-ratio:1/1;object-fit:cover;margin:0 0 15px!important;background:var(--bn-sand)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--bn-serif);font-size:1.25rem!important;color:var(--bn-navy);padding:0!important;margin:0 0 7px!important}.woocommerce ul.products li.product .price{color:var(--bn-navy)!important;font-weight:800;font-size:1rem!important}.woocommerce span.onsale{min-width:auto!important;min-height:auto!important;line-height:1!important;padding:9px 11px!important;border-radius:999px!important;background:var(--bn-accent)!important;top:23px!important;left:23px!important}.bn-product-attrs{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 13px}.bn-product-attrs span{font-size:.72rem;border:1px solid var(--bn-border);border-radius:999px;padding:4px 8px;color:var(--bn-muted);background:var(--bn-cream)}
.bn-premium-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.bn-editorial-image{min-height:500px;border-radius:28px;background:radial-gradient(circle at 68% 34%,#f4eee7 0 14%,transparent 15%),linear-gradient(145deg,#b6a18d,#766251);position:relative;overflow:hidden}.bn-copy h2{font-family:var(--bn-serif);font-size:clamp(2.5rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.045em;font-weight:600;margin:8px 0 22px}.bn-copy p{color:var(--bn-muted);font-size:1.03rem}.bn-copy .bn-btn{margin-top:14px}
.bn-tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.bn-tip-card{background:#fff;border-radius:22px;border:1px solid var(--bn-border);overflow:hidden}.bn-tip-thumb{aspect-ratio:16/10;background:linear-gradient(145deg,#d8c7b5,#9fa9b1)}.bn-tip-body{padding:22px}.bn-tip-body h3{font-family:var(--bn-serif);font-size:1.42rem;line-height:1.15;margin:4px 0 9px}.bn-tip-body p{font-size:.92rem;color:var(--bn-muted);margin:0}.bn-tip-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.bn-page-hero{padding:70px 0 46px}.bn-page-hero h1,.entry-title{font-family:var(--bn-serif);font-size:clamp(3rem,6vw,5.5rem);font-weight:600;letter-spacing:-.045em;line-height:1;margin:8px 0 16px}.bn-content{background:#fff;border-radius:24px;padding:clamp(28px,5vw,64px);border:1px solid var(--bn-border)}.bn-page-wrap{padding:44px 0 78px}.bn-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.woocommerce div.product{background:#fff;border-radius:26px;padding:clamp(20px,3vw,42px);border:1px solid var(--bn-border)}.woocommerce div.product div.images img{border-radius:20px}.woocommerce div.product .product_title{font-family:var(--bn-serif);font-size:clamp(2.6rem,5vw,4.7rem);line-height:1;letter-spacing:-.045em;font-weight:600}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--bn-navy)!important;font-weight:850}.bn-custom-note{margin-top:18px;padding:16px 18px;border-radius:14px;background:var(--bn-cream);font-size:.9rem}.woocommerce-message,.woocommerce-info{border-top-color:var(--bn-navy)!important;background:#fff}.woocommerce-message::before,.woocommerce-info::before{color:var(--bn-navy)!important}.woocommerce .quantity .qty{min-height:44px;border:1px solid var(--bn-border);border-radius:999px}.woocommerce select,.woocommerce input.input-text,.woocommerce textarea{border:1px solid var(--bn-border);border-radius:12px;padding:11px 13px;background:#fff}
.site-footer{background:var(--bn-navy);color:#fff;margin-top:0}.bn-footer{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:42px;padding:64px 0}.site-footer .bn-brand-name{color:#fff}.site-footer p,.site-footer li,.site-footer a{color:rgba(255,255,255,.68)}.site-footer h4{font-family:var(--bn-serif);font-size:1.15rem;margin:0 0 14px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li+li{margin-top:7px}.bn-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;color:rgba(255,255,255,.5);font-size:.84rem}
.alignwide{width:min(calc(100% - 40px),var(--bn-container));margin-inline:auto}.alignfull{width:100%}.wp-block-group.has-background{border-radius:24px}.wp-block-image img{border-radius:20px}.wp-block-heading{font-family:var(--bn-serif);letter-spacing:-.025em}.wp-block-quote{border-left:3px solid var(--bn-accent);padding-left:20px;font-family:var(--bn-serif);font-size:1.3rem}
@media(max-width:1020px){.bn-nav{display:none}.bn-header{grid-template-columns:1fr auto}.bn-hero-card{min-height:560px}.bn-hero-copy{padding:42px}.bn-usp-grid,.woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important}.bn-shop-grid{grid-template-columns:1fr 1fr}.bn-shop-tile:first-child{grid-column:1/-1}.bn-premium-grid{grid-template-columns:1fr}.bn-tips-grid,.bn-post-grid{grid-template-columns:1fr 1fr}.bn-footer{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.bn-topbar .bn-container{justify-content:flex-start;gap:5px 16px;padding:7px 0}.bn-header{min-height:70px}.bn-brand-name{font-size:1.05rem}.bn-section{padding:58px 0}.bn-section-head{display:block}.bn-usp-grid,.woocommerce ul.products,.bn-shop-grid,.bn-tips-grid,.bn-post-grid{grid-template-columns:1fr!important}.bn-shop-tile:first-child{grid-column:auto}.bn-editorial-image{min-height:350px}.bn-cart-count.is-empty {
    display: none;
}.bn-footer{grid-template-columns:1fr}.bn-page-hero{padding-top:46px}}
