
/*
Theme Name: IJSWIT Exact Visual 4.2
Theme URI: https://www.ijswit.nl/
Author: IJSWIT
Description: Full-width IJSWIT WordPress + WooCommerce theme, closely matching the approved visual design.
Version: 4.4.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: ijswit
*/
@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,500&display=swap');

:root{
 --ink:#17191a;--cream:#fbf7ef;--paper:#fffdfa;
 --green:#dce9d3;--blue:#dcebf2;--yellow:#f8dfae;--pink:#f3dad6;
 --line:#e7e0d5;--muted:#686763;
 --serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--hand:'Caveat',cursive;
 --max:1240px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;width:100%;overflow-x:hidden}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.5}
body.admin-bar .site-header{top:32px}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.ijswit-wrap{width:calc(100% - 72px);max-width:var(--max);margin-left:auto!important;margin-right:auto!important}

/* HEADER */
.ijswit-header{width:100%;height:60px;background:#fffefa;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:999}
.ijswit-header-inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.ijswit-brand{font:500 25px/1 var(--serif);letter-spacing:.30em;white-space:nowrap}
.ijswit-brand small{display:block;text-align:center;font:500 7px/1 var(--sans);letter-spacing:.19em;margin-top:6px}
.ijswit-nav{display:flex;align-items:center;justify-content:center;gap:27px;font-size:12px;white-space:nowrap}
.ijswit-nav a:hover{text-decoration:underline;text-underline-offset:5px}
.ijswit-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;font-size:21px}
.ijswit-cart{position:relative}
.ijswit-cart-count{position:absolute;right:-9px;top:-9px;width:17px;height:17px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:700 9px var(--sans)}
.ijswit-menu-button{display:none;background:none;border:0;font-size:23px}

/* HERO */
.ijswit-hero{width:100%;background:var(--cream);position:relative;overflow:hidden}
.ijswit-hero-grid{display:grid;grid-template-columns:46% 54%;min-height:415px;width:100%;max-width:none}
.ijswit-hero-copy{position:relative;display:flex;justify-content:center;flex-direction:column;padding:42px 45px 42px max(36px, calc((100vw - 1240px)/2))}
.ijswit-kicker{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.ijswit-hero h1{font:500 55px/.99 var(--serif);letter-spacing:-.025em;margin:0}
.ijswit-hero h1 em{font-style:italic}
.ijswit-lead{font-size:14px;line-height:1.55;max-width:435px;margin:20px 0 25px;color:#333}
.ijswit-btn{display:inline-flex;width:max-content;align-items:center;gap:23px;background:var(--ink);color:#fff;border-radius:999px;padding:14px 23px;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.ijswit-hero-photo{min-height:415px;overflow:hidden;position:relative}
.ijswit-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}

.ijswit-blob{position:absolute;border-radius:60%;z-index:2}
.ijswit-blob.g{width:72px;height:108px;left:-48px;top:0;background:var(--green)}
.ijswit-blob.y{width:45px;height:76px;left:-13px;bottom:70px;background:var(--yellow)}
.ijswit-blob.b{width:55px;height:52px;left:13px;bottom:-19px;background:var(--blue)}

/* TRUST */
.ijswit-trust{width:100%;background:#fffefa;border-bottom:1px solid var(--line)}
.ijswit-trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.ijswit-trust-item{min-height:66px;padding:12px 25px;display:flex;align-items:center;gap:12px;border-right:1px solid var(--line)}
.ijswit-trust-item:last-child{border-right:0}
.ijswit-trust-icon{font-size:26px}.ijswit-trust strong{display:block;font-size:12px}.ijswit-trust span{display:block;font-size:10px;color:var(--muted)}

/* SECTIONS */
.ijswit-section{width:100%;padding:66px 0}
.ijswit-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}
.ijswit-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}
.ijswit-section-title{font:500 39px/1.04 var(--serif);margin:0}
.ijswit-text-link{font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid;padding-bottom:6px}

/* PRODUCTS */
.ijswit-products{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ijswit-product-image{height:232px;border-radius:17px;overflow:hidden;position:relative}
.ijswit-product-image img{width:100%;height:100%;object-fit:contain;object-position:center;background:#f2eee6}
.ijswit-products .ijswit-product-card:nth-child(1) .ijswit-product-image{background:#f2eee6}
.ijswit-products .ijswit-product-card:nth-child(2) .ijswit-product-image{background:var(--green)}
.ijswit-products .ijswit-product-card:nth-child(3) .ijswit-product-image{background:var(--pink)}
.ijswit-products .ijswit-product-card:nth-child(4) .ijswit-product-image{background:#dce7eb}
.ijswit-tiny{position:absolute;left:10px;top:6px;font:27px var(--hand);z-index:2}
.ijswit-product-card h3{font:500 20px/1.1 var(--serif);margin:12px 0 4px}
.ijswit-product-card p{font-size:11px;line-height:1.45;color:#55534f;min-height:34px;margin:0 0 11px}
.ijswit-product-link{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid;padding-bottom:5px}

/* PROCESS */
.ijswit-process{background:var(--cream);position:relative;overflow:hidden}
.ijswit-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.ijswit-step{position:relative}
.ijswit-step:not(:last-child):after{content:"";position:absolute;right:-16px;top:30px;width:32px;border-top:1px dashed #c9c1b4}
.ijswit-step-icon{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;font-size:27px;border:1px solid #0000000d}
.ijswit-step:nth-child(1) .ijswit-step-icon{background:var(--pink)}
.ijswit-step:nth-child(2) .ijswit-step-icon{background:var(--yellow)}
.ijswit-step:nth-child(3) .ijswit-step-icon{background:var(--green)}
.ijswit-step:nth-child(4) .ijswit-step-icon{background:var(--blue)}
.ijswit-step h3{font:700 13px var(--sans);margin:0 0 4px}
.ijswit-step p{font-size:10px;color:#595751;margin:0}
.ijswit-process-note{position:absolute;font:27px/1.0 var(--hand);top:36px}
.ijswit-process-note.left{left:20px}.ijswit-process-note.right{right:20px;text-align:center}

/* STORY */
.ijswit-story{display:grid;grid-template-columns:42% 34% 24%;gap:38px;align-items:center}
.ijswit-story-photo{overflow:hidden;border-radius:0 38px 0 38px;transform:rotate(-1deg)}
.ijswit-story-copy h2{font:500 40px/1.03 var(--serif);margin:7px 0 14px}
.ijswit-story-copy p{font-size:13px;color:#504e49;margin:0 0 21px}
.ijswit-quote{background:#f7f0e7;border-radius:23px;padding:26px 22px}
.ijswit-quote p{font:italic 15px/1.5 var(--serif);margin:0 0 13px}
.ijswit-stars{font-size:12px;letter-spacing:3px}.ijswit-quote small{font-size:9px;color:#666}

/* GALLERY */
.ijswit-gallery-title{font:500 39px/1.04 var(--serif);margin:0 0 26px}
.ijswit-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;align-items:end}
.ijswit-gallery-grid img{width:100%;height:155px;object-fit:cover;border-radius:16px}
.ijswit-gallery-grid img:nth-child(2){height:177px}
.ijswit-gallery-note{font:27px/1.0 var(--hand);max-width:210px;margin:20px 0 0 auto;text-align:center;transform:rotate(3deg)}

/* CTA + FOOTER */
.ijswit-cta{width:100%;background:var(--green);padding:58px 0;text-align:center}
.ijswit-cta h2{font:500 43px/1.05 var(--serif);max-width:720px;margin:0 auto 14px}
.ijswit-cta p{font-size:13px;max-width:500px;margin:0 auto 22px}
.ijswit-footer{width:100%;background:#fffefa;border-top:1px solid var(--line);padding:40px 0 24px}
.ijswit-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
.ijswit-footer h4{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}
.ijswit-footer p,.ijswit-footer a{display:block;font-size:11px;color:#5d5b57;margin:6px 0}
.ijswit-footer-brand p{max-width:280px}
.ijswit-copyright{border-top:1px solid var(--line);margin-top:29px;padding-top:13px;font-size:9px;color:#777;display:flex;justify-content:space-between}

/* WOOCOMMERCE */
.woocommerce .site-main,.woocommerce-page .site-main{width:100%}
.woocommerce .woocommerce-products-header,.woocommerce ul.products,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering,
.woocommerce div.product,.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{width:calc(100% - 72px);max-width:var(--max);margin-left:auto!important;margin-right:auto!important}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px}
.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important}
.woocommerce ul.products li.product a img{border-radius:17px}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:500 20px var(--serif)}
.woocommerce ul.products li.product .price{color:var(--ink)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--ink);color:#fff;border-radius:999px;padding:12px 19px}
.woocommerce div.product .product_title{font:500 45px var(--serif)}
.woocommerce div.product p.price{color:var(--ink)}
.woocommerce div.product div.images img{border-radius:18px}
.woocommerce form .form-row input,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--ink)}
.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #payment{border-radius:18px}

/* RESPONSIVE */
@media(max-width:1000px){
 .ijswit-wrap{width:calc(100% - 48px)}
 .ijswit-header-inner{grid-template-columns:auto 1fr auto}
 .ijswit-nav{gap:16px}
 .ijswit-hero-grid{grid-template-columns:1fr;width:100%}
 .ijswit-hero-copy{padding:45px 0 32px}
 .ijswit-hero-photo{min-height:360px}
 .ijswit-products{grid-template-columns:repeat(2,1fr)}
 .ijswit-story{grid-template-columns:1fr}
 .ijswit-quote{max-width:520px}
 .ijswit-footer-grid{grid-template-columns:1fr 1fr}
 .woocommerce ul.products{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
 .ijswit-wrap{width:calc(100% - 30px)}
 .ijswit-header{height:60px}
 .ijswit-brand{font-size:21px}
 .ijswit-nav{display:none}
 .ijswit-actions{gap:11px}
 .ijswit-menu-button{display:block}
 .ijswit-hero h1{font-size:40px}
 .ijswit-lead{font-size:13px}
 .ijswit-hero-photo{min-height:285px}
 .ijswit-trust-grid{grid-template-columns:1fr}
 .ijswit-trust-item{border-right:0;border-bottom:1px solid var(--line);padding:12px 0}
 .ijswit-trust-item:last-child{border-bottom:0}
 .ijswit-section{padding:50px 0}
 .ijswit-section-head{display:block}
 .ijswit-section-title,.ijswit-gallery-title{font-size:32px}
 .ijswit-text-link{display:inline-block;margin-top:15px}
 .ijswit-products{grid-template-columns:1fr 1fr;gap:14px}
 .ijswit-product-image{height:185px}
 .ijswit-product-card h3{font-size:17px}
 .ijswit-product-card p{font-size:10px}
 .ijswit-process-grid{grid-template-columns:1fr 1fr;gap:25px 12px}
 .ijswit-step:not(:last-child):after{display:none}
 .ijswit-process-note{display:none}
 .ijswit-story-copy h2{font-size:34px}
 .ijswit-gallery-grid{grid-template-columns:1fr}
 .ijswit-gallery-grid img,.ijswit-gallery-grid img:nth-child(2){height:190px}
 .ijswit-cta h2{font-size:34px}
 .ijswit-footer-grid{grid-template-columns:1fr}
 .ijswit-copyright{display:block}.ijswit-copyright span{display:block;margin-top:6px}
 .woocommerce .woocommerce-products-header,.woocommerce ul.products,.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering,
 .woocommerce div.product,.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{width:calc(100% - 30px)}
 .woocommerce ul.products{grid-template-columns:1fr 1fr}
}
