/*
Theme Name: Zoet & Zalig
Description: Een kleurrijk Nederlandstalig webshopthema voor zoetwaren met WooCommerce-ondersteuning.
Version: 1.3.0
Requires at least: 6.6
Requires PHP: 7.4
Author: Zoet & Zalig
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: zoet-en-zalig
*/

500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');
:root{--ink:#422d31;--pink:#f8d8df;--red:#ad354c;--cream:#fffaf3}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}.ribbon{text-align:center;background:var(--red);color:white;font-size:12px;padding:10px;letter-spacing:1px}header{max-width:1280px;margin:auto;height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{font:700 29px 'Playfair Display',Georgia,serif}.brand span{color:var(--red)}nav{display:flex;gap:32px;align-items:center}button{border:0;background:var(--red);color:white;border-radius:28px;padding:14px 22px;font-weight:600}.cart{background:transparent;color:var(--ink);border:1px solid #d9c5c5}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;background:var(--pink);min-height:520px}.hero-copy{padding:70px 6vw 65px 9vw;z-index:1}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase}.hero h1{font:700 clamp(46px,5.2vw,76px)/1.06 'Playfair Display',Georgia,serif;letter-spacing:-2px;margin:23px 0}.hero h1 em{color:var(--red);font-weight:600}.hero p{line-height:1.8;max-width:350px;color:#72525b}.hero button{margin-top:18px}.visual{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#fff1de 0,#f9e3dc 49%,#f8d8df 70%)}.bowl{height:340px;width:340px;border:18px solid #faf6e9;border-radius:50%;background:#c9a783;box-shadow:18px 30px 45px #9b576138,inset 0 4px 20px #71433488;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;padding:12px;transform:rotate(-13deg)}.sweet{width:53px;height:43px;border-radius:45% 45% 35% 35%;margin:2px;background:var(--c);box-shadow:inset 3px 4px 5px #ffffff88,inset -4px -4px 4px #0002;transform:rotate(var(--r));border:2px dotted #ffffff77}.badge{position:absolute;right:9%;bottom:45px;background:#fff8e7;border:1px solid #e2bd9c;border-radius:50%;width:108px;height:108px;display:grid;place-content:center;text-align:center;transform:rotate(12deg);font-size:12px}.badge b{font:700 26px Georgia}.perks{display:flex;justify-content:center;gap:80px;padding:24px;border-bottom:1px solid #e7dcd2;font-size:12px}.perks span:first-letter{color:var(--red)}main{max-width:1160px;margin:auto;padding:65px 24px}.title-row{display:flex;justify-content:space-between;align-items:end}h2{font:600 38px 'Playfair Display',Georgia;margin:12px 0 15px}.small{font-size:13px;color:#8c6d70}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}.filters button{background:transparent;color:var(--ink);border:1px solid #ddcfc6;padding:10px 21px;font-size:12px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:23px}.product-visual{height:245px;border-radius:8px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.pile{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;width:170px;height:170px;transform:rotate(-12deg)}.pile .sweet{width:40px;height:36px}.tag{position:absolute;top:13px;left:13px;border-radius:20px;background:#fffaf3;padding:6px 10px;font-size:10px;font-weight:bold;letter-spacing:1px}.product h3{font-size:16px;margin:17px 0 6px}.product .bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.add{height:35px;width:35px;padding:0;font-size:22px}.story{background:#eee9dc;border-radius:10px;margin-top:65px;padding:38px;text-align:center}.story p{max-width:570px;line-height:1.8;margin:auto;color:#7d6761}footer{border-top:1px solid #e7dcd2;padding:35px 7%;display:flex;justify-content:space-between;gap:25px;font-size:12px}dialog{border:0;border-radius:16px;width:min(540px,94vw);color:var(--ink);padding:30px;max-height:90vh}dialog::backdrop{background:#2d172c77}.close{float:right;background:#eee3de;color:var(--ink);padding:6px 12px}.line{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eee;padding:15px 0}.line strong{flex:1}.line button{padding:4px 10px}.total{display:flex;justify-content:space-between;margin:15px 0}.wide{width:100%;margin-top:15px}label{display:block;margin:15px 0 6px;font-size:13px}input,select{width:100%;padding:12px;border:1px solid #d9c9c3;border-radius:6px;background:white}.notice{background:#fff2d9;font-size:12px;line-height:1.6;padding:12px;border-radius:8px}.hidden{display:none}@media(max-width:760px){header{height:80px}.brand{font-size:23px}nav a{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:40px 26px 20px}.hero h1{font-size:51px}.visual{min-height:340px}.bowl{width:270px;height:270px}.sweet{width:41px;height:33px}.badge{bottom:15px}.perks{gap:15px;font-size:10px;padding:20px 12px}.grid{grid-template-columns:repeat(2,1fr);gap:24px 14px}.product-visual{height:195px}main{padding:40px 18px}h2{font-size:30px}.title-row{display:block}footer{flex-direction:column}.ribbon{font-size:10px}}

body{font-family:Arial,sans-serif}.site-main{min-height:50vh}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;background:white;padding:15px;z-index:100}.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button{display:inline-block;background:var(--red);color:#fff;border-radius:28px;padding:14px 22px;border:0;font-weight:600;line-height:1.4}.woocommerce a.button:hover,.woocommerce button.button:hover{background:#822439;color:#fff}.woocommerce ul.products li.product a img{border-radius:8px;background:#f5e0dd}.woocommerce ul.products li.product .price{color:var(--red)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Arial,sans-serif;font-size:17px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{padding:12px;border:1px solid #d9c9c3;border-radius:6px}.woocommerce div.product .product_title{font-size:38px}.woocommerce div.product p.price{color:var(--red)}.woocommerce span.onsale{background:var(--red)}.woocommerce .quantity .qty{width:5em}.woocommerce-message,.woocommerce-info{border-top-color:var(--red)}.woocommerce-message:before,.woocommerce-info:before{color:var(--red)}.woocommerce table.shop_table{background:white}.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{margin-bottom:25px}.site-nav ul{list-style:none;padding:0;margin:0;display:flex;gap:24px}.site-nav .sub-menu{display:none}.custom-logo{max-width:180px;max-height:65px;width:auto;height:auto}.entry-content{line-height:1.8;overflow-wrap:anywhere}.entry-content img{max-width:100%;height:auto}.entry-content a{text-decoration:underline}.wp-block-button a{color:white}.alignwide{max-width:1160px}.alignfull{width:100%}.wp-caption{max-width:100%}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.pagination{padding:25px}.woocommerce nav.woocommerce-pagination ul{display:flex}.woocommerce .woocommerce-breadcrumb{margin-bottom:30px}.woocommerce-product-gallery img{max-width:100%;height:auto}.hero-link{margin-top:15px}.shop-empty{background:#f5e0dd;border-radius:12px;padding:30px}.site-search{display:flex;gap:8px;margin-bottom:25px}.site-search button{white-space:nowrap}@media(max-width:760px){.site-nav{display:none}header{gap:10px}.cart{padding:10px 12px;font-size:12px}.brand{font-size:21px}.woocommerce ul.products li.product{width:48%!important}.perks{flex-wrap:wrap}.site-main{padding-top:35px}}

/* Rustige oud-Hollandse zoetwaren, versie 1.1.0 */
:root{--ink:#3d3026;--pink:#f3e7d1;--red:#783e32;--cream:#fcf7ed}
body{color:var(--ink);background-color:#f4ead7;background-image:linear-gradient(rgba(252,247,237,.87),rgba(252,247,237,.87)),url('assets/oud-hollandse-zoetwaren.png');background-size:auto,1600px auto;background-position:center top}
header{background:rgba(252,247,237,.97)}
.ribbon{background:#593f30;color:#fffaf0}
.hero{display:block;min-height:550px;background:#f3e7d1 url('assets/oud-hollandse-zoetwaren.png') center/cover no-repeat}
.hero-copy{padding:65px 6vw 65px 9vw;max-width:760px;background:linear-gradient(90deg,rgba(252,247,237,.94) 0%,rgba(252,247,237,.85) 65%,rgba(252,247,237,0) 100%)}
.hero h1{font-family:Georgia,serif;font-size:clamp(44px,5vw,70px);color:#3d3026}
.hero h1 em{color:#783e32}.hero p{color:#534437}.hero .small{color:#594b3f}
.brand span{color:#783e32}.eyebrow{color:#624a34}.small{color:#655649}
.perks{background:rgba(252,247,237,.96);color:#534437;border-color:#d7c6aa}
main{background:rgba(252,247,237,.97);border-radius:8px}
.story{background:#eee4cf;border:1px solid #ddccb0}.story p{color:#574638}
footer{background:#f1e6d2;color:#4e3d2f;border-color:#d7c6aa}
.cart{background:#fffaf0;color:#493629;border-color:#b8a084}
.button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wp-element-button,button{background:#783e32;color:#fffaf0}
.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover{background:#5e3027;color:#fffaf0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #526348;outline-offset:4px}
.woocommerce ul.products li.product{background:#fffcf5;border:1px solid #e4d6bf;border-radius:10px;padding:12px!important;box-sizing:border-box}
.woocommerce ul.products li.product .price,.woocommerce div.product p.price{color:#783e32}
.woocommerce ul.products li.product a img{background:#eee4cf}
.woocommerce-message,.woocommerce-info{background:#f2eadb;color:#3d3026;border-top-color:#526348}
.woocommerce-message:before,.woocommerce-info:before{color:#526348}
.woocommerce span.onsale{background:#526348;color:white}
input,select,textarea,.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{color:#3d3026;background:#fffdf8;border-color:#b9a78b}
.woocommerce table.shop_table,.wc-block-components-order-summary,.wc-block-components-sidebar-layout .wc-block-components-main{background:#fffdf8}
@media(max-width:760px){.hero{min-height:500px;background-position:64% center}.hero-copy{padding:40px 24px 50px;background:rgba(252,247,237,.88);max-width:100%}.hero h1{font-size:46px}body{background-size:auto,1000px auto}.site-main{border-radius:0}.woocommerce ul.products li.product{padding:8px!important}}

/* Aanpasbare fotobanner */
.zz-banner{position:relative;background:#eee4cf;border-block:1px solid #d7c6aa;isolation:isolate}
.zz-banner-slides{position:relative;height:clamp(220px,30vw,460px);overflow:hidden}
.zz-banner-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;pointer-events:none}
.zz-banner-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.zz-banner-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.zz-banner-slide figcaption{position:absolute;bottom:28px;left:7%;max-width:80%;padding:14px 22px;border-radius:5px;background:rgba(252,247,237,.96);color:#3d3026;font:600 clamp(20px,2.5vw,36px)/1.3 Georgia,serif;box-shadow:0 2px 14px #3d302615}
.zz-banner-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px 16px;background:#fcf7ed;color:#3d3026}
.zz-banner-controls[hidden]{display:none}
.zz-banner-controls button{padding:8px 15px;font-size:13px;min-height:40px;border-radius:20px}
.zz-banner-status{font-size:13px;min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.zz-banner-slide{transition:none}}
@media(max-width:760px){.zz-banner-slide figcaption{left:20px;bottom:20px;padding:12px 16px}.zz-banner-controls{gap:10px}}

/* Ledenoverzicht en account */
.zz-member-nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:12px 20px;background:#eee4cf;border-top:1px solid #e0d0b6;font-size:13px;color:#4e3d2f}.zz-member-nav a:hover,.zz-member-more:hover{text-decoration:underline}.zz-member-nav a:last-child{display:none}
.zz-home-members{margin-top:60px;padding-top:35px;border-top:1px solid #ddccb0;scroll-margin-top:25px}.zz-member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:28px 0}.zz-member-card{background:#fffcf5;border:1px solid #e0d0b6;border-radius:10px;overflow:hidden}.zz-member-photo{display:block;height:230px;background:#eee4cf}.zz-member-photo img{width:100%;height:100%;object-fit:cover}.zz-member-placeholder{display:grid;place-items:center;height:100%;font:54px Georgia,serif;color:#783e32}.zz-member-copy{padding:22px}.zz-member-copy h3{margin:0 0 10px;font:600 24px Georgia,serif}.zz-member-copy p{font-size:14px;line-height:1.7;color:#655649;overflow-wrap:anywhere}.zz-member-more{color:#783e32;font-weight:600;font-size:14px}.zz-member-invitation,.zz-account-intro{background:#eee4cf;border-radius:10px;padding:24px;margin:25px 0}.zz-member-invitation{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.zz-home-members-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:25px 0}.zz-members-empty{padding:28px;background:#f1e6d2;border-radius:8px;line-height:1.7}.zz-member-pagination{display:flex;gap:12px;padding:25px 0}.zz-member-pagination .page-numbers{padding:10px 16px;border:1px solid #d7c6aa;border-radius:5px}.zz-member-pagination .current{background:#783e32;color:white}.zz-member-detail{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;margin-top:30px}.zz-member-detail-image img{width:100%;height:auto;border-radius:10px}.zz-account-page .woocommerce{margin-top:25px}.woocommerce-MyAccount-navigation ul{list-style:none;padding:0}.woocommerce-MyAccount-navigation a{display:block;padding:12px 16px;border-bottom:1px solid #ddccb0}.woocommerce-MyAccount-navigation .is-active a{background:#eee4cf;color:#783e32;font-weight:bold}.woocommerce-MyAccount-content{line-height:1.8}.woocommerce-MyAccount-content a{text-decoration:underline}.woocommerce form.login,.woocommerce form.register{background:#fffdf8;border-color:#d7c6aa}.woocommerce form .woocommerce-form__label-for-checkbox input{width:auto}.woocommerce-LostPassword a{color:#783e32;text-decoration:underline}
@media(max-width:900px){.zz-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}nav{gap:14px}.zz-account-link{font-size:12px}}
@media(max-width:760px){.zz-member-nav a:last-child{display:block}.zz-member-grid{gap:14px}.zz-member-photo{height:170px}.zz-member-copy{padding:15px}.zz-member-copy h3{font-size:21px}.zz-member-detail{grid-template-columns:1fr;gap:20px}.zz-member-detail-image{max-width:400px}}
@media(max-width:440px){.zz-member-grid{grid-template-columns:1fr}.zz-member-photo{height:220px}}
