

.alp-shop{
--papier-0:#FFFFFF;--papier-50:#F9F7F2;--papier-100:#F4F1E8;--papier-200:#EBE6D9;--papier-300:#DED7C6;
--inkt-900:#2C2C2C;--inkt-800:#3A3936;--inkt-700:#4E4C46;--inkt-600:#6B6860;--inkt-400:#8F8B81;--inkt-200:#D1D1D1;
--goud-100:#F6EFDF;--goud-200:#EEDFC1;--goud-300:#E1C699;--goud-400:#D0B183;--goud-600:#A6854F;--goud-700:#8A6E3F;--goud-800:#6E5730;
--text-heading:#2C2C2C;--text-body:#4E4C46;--text-muted:#6B6860;--text-accent:#8A6E3F;--line-hairline:#DED7C6;
--font-display:'Cormorant Garamond',Georgia,serif;--font-body:'Mulish',system-ui,sans-serif;
--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.0625rem;--text-lg:1.25rem;--text-xl:1.5rem;
--display-sm:clamp(1.5rem,1.3rem + 1vw,1.875rem);--display-md:clamp(2rem,1.5rem + 2.4vw,3rem);
--weight-light:300;--tracking-eyebrow:.18em;
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
--section-y:clamp(2.5rem,6vw,5rem);--gutter:clamp(1.125rem,4vw,3rem);--container:1240px;
--radius-sm:3px;--radius-md:5px;--shadow-card:0 2px 10px rgba(74,62,40,.06);--shadow-sheet:0 -6px 30px rgba(74,62,40,.14);
--ease-out:cubic-bezier(.22,.61,.36,1);--dur-base:240ms;
font-family:var(--font-body);color:var(--text-body);background:var(--papier-50);-webkit-font-smoothing:antialiased;display:block}
.alp-shop *,.alp-shop *::before,.alp-shop *::after{box-sizing:border-box}
body:not(.wp-site-blocks):not([class*="et-"]){margin:0}
.alp-shop img{display:block;max-width:100%;height:auto}
.alp-shop h1,.alp-shop h2,.alp-shop h3{font-family:var(--font-display);font-weight:var(--weight-light);color:var(--text-heading);margin:0;padding:0;line-height:1.15;text-wrap:pretty}
.alp-shop p,.alp-shop ul,.alp-shop li,.alp-shop fieldset,.alp-shop legend{margin:0;padding:0}
.alp-shop ul{list-style:none}
.alp-shop fieldset{border:0}
.alp-shop a{color:var(--goud-700);text-decoration:none}
.alp-shop a:hover{color:var(--goud-800);text-decoration:underline}
.alp-shop button,.alp-shop select,.alp-shop input{font:inherit;color:inherit}
.alp-shop :focus-visible{outline:2px solid var(--goud-600);outline-offset:2px}
.alp-shop .wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.alp-shop .eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent)}
.alp-shop .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* ---------- intro ---------- */
/* hero-foto van de homepage als achtergrond; de cream-laag houdt de tekst op 4.5:1 */
.alp-shop .intro{position:relative;isolation:isolate;background:var(--papier-100);padding:var(--space-10) 0 var(--space-12);border-bottom:1px solid var(--line-hairline)}
.alp-shop .intro::before{content:"";position:absolute;inset:0;z-index:-1;background-image:url('https://liefpapier.nl/wp-content/uploads/2026/03/Ab4cf991955c641e58e8a2afe9b91035aJ.png.webp');background-size:cover;background-position:right center;background-repeat:no-repeat;transform:scaleX(-1)}
.alp-shop .intro::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(243,240,232,.96) 0%,rgba(243,240,232,.94) 45%,rgba(243,240,232,.86) 72%,rgba(243,240,232,.78) 100%)}
@media (max-width:900px){.alp-shop .intro::after{background:rgba(243,240,232,.93)}}
.alp-shop .crumb{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-6)}
.alp-shop .crumb a{color:var(--text-muted)}
.alp-shop .intro h1{font-size:var(--display-md);margin-top:var(--space-4)}
.alp-shop .intro__lead{margin-top:var(--space-5);max-width:58ch;font-size:var(--text-md);line-height:1.7;color:var(--text-body)}

/* ---------- gelegenheid doors ---------- */
.alp-shop .doors{margin-top:var(--space-8)}
.alp-shop .doors__label{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent);margin-bottom:var(--space-3)}
.alp-shop .doors__row{display:flex;gap:var(--space-2);overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:var(--space-2);margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);-webkit-overflow-scrolling:touch}
.alp-shop .doors__row::-webkit-scrollbar{height:0}
.alp-shop .door{scroll-snap-align:start;flex:0 0 auto;min-height:48px;display:flex;align-items:baseline;gap:var(--space-2);padding:.8rem 1.1rem;background:var(--papier-0);border:1px solid var(--line-hairline);border-radius:999px;cursor:pointer;transition:border-color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}
.alp-shop .door:hover{border-color:var(--goud-400);background:var(--goud-100)}
.alp-shop .door span:first-child{font-family:var(--font-display);font-size:var(--text-lg);color:var(--text-heading);line-height:1}
.alp-shop .door span:last-child{font-size:var(--text-xs);color:var(--text-muted)}
.alp-shop .door[aria-pressed="true"]{border-color:var(--inkt-900);border-width:2px;padding:calc(.8rem - 1px) calc(1.1rem - 1px);background:var(--papier-0)}
.alp-shop .door[aria-pressed="true"]::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--goud-600);align-self:center}
@media (min-width:900px){.alp-shop .doors__row{flex-wrap:wrap;overflow:visible;margin:0;padding:0}}

/* ---------- sticky bar ---------- */
.alp-shop .bar{position:sticky;top:var(--alp-sticky-top,0px);z-index:40;background:rgba(249,247,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line-hairline)}
.alp-shop .bar__row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;flex-wrap:wrap}
.alp-shop .count{font-size:var(--text-sm);color:var(--text-muted);margin-right:auto}
.alp-shop .count b{font-weight:600;color:var(--text-heading)}
.alp-shop .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-sm);border-radius:var(--radius-md);transition:background var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}
.alp-shop .btn--filter{padding:0 1.15rem;background:var(--inkt-900);border:1px solid var(--inkt-900);color:var(--papier-50);font-weight:500}
.alp-shop .btn--filter:hover{background:var(--inkt-800);border-color:var(--inkt-800)}
.alp-shop .btn--filter b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--goud-300);color:var(--inkt-900);font-size:var(--text-2xs);font-weight:600}
.alp-shop .btn--gold{padding:0 1.4rem;background:var(--goud-300);border:1px solid var(--goud-300);color:var(--inkt-900);font-weight:500;width:100%}
.alp-shop .btn--gold:hover{background:var(--goud-400);border-color:var(--goud-400)}
.alp-shop .btn--quiet{background:none;border:0;padding:0;min-height:44px;color:var(--goud-700);border-bottom:1px solid var(--goud-300);border-radius:0}
.alp-shop .btn--quiet:hover{color:var(--goud-800);border-color:var(--goud-600)}
.alp-shop .sort{min-height:48px;padding:0 2.2rem 0 .85rem;background:var(--papier-0) no-repeat right .8rem center;border:1px solid var(--line-hairline);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-body);appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 48%,var(--inkt-600) 50%,transparent 52%),linear-gradient(-45deg,transparent 48%,var(--inkt-600) 50%,transparent 52%);background-size:7px 7px,7px 7px;background-position:right 1.1rem center,right .75rem center}
.alp-shop .sort:hover{border-color:var(--goud-400)}

/* active chips */
.alp-shop .chips{display:flex;gap:var(--space-2);align-items:center;overflow-x:auto;padding:0 0 var(--space-3);margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter)}
.alp-shop .chips::-webkit-scrollbar{height:0}
.alp-shop .chips[hidden]{display:none}
.alp-shop .chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:0 .6rem 0 .75rem;background:var(--papier-0);border:1px solid var(--inkt-900);border-radius:999px;font-size:var(--text-xs);color:var(--inkt-900);cursor:pointer}
.alp-shop .chip:hover{background:var(--goud-100);border-color:var(--goud-600)}
.alp-shop .chip i{font-style:normal;font-size:1rem;line-height:1;color:var(--inkt-600)}
@media (min-width:900px){.alp-shop .chips{flex-wrap:wrap;overflow:visible;margin:0;padding:0 0 var(--space-3)}}

/* ---------- filter panel ---------- */
.alp-shop .scrim{position:fixed;inset:0;z-index:50;background:rgba(44,44,44,.4);border:0;padding:0;cursor:pointer}
.alp-shop .scrim[hidden]{display:none}
.alp-shop .panel{position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:92vh;display:flex;flex-direction:column;background:var(--papier-50);border-top:1px solid var(--line-hairline);border-radius:12px 12px 0 0;box-shadow:var(--shadow-sheet)}
.alp-shop .panel[hidden]{display:none}
.alp-shop .panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--gutter);border-bottom:1px solid var(--line-hairline)}
.alp-shop .panel__head h2{font-size:var(--text-xl)}
.alp-shop .close{width:44px;height:44px;display:grid;place-items:center;background:none;border:1px solid var(--line-hairline);border-radius:50%;font-size:1.1rem;color:var(--inkt-700);cursor:pointer}
.alp-shop .close:hover{border-color:var(--goud-600);background:var(--goud-100)}
.alp-shop .panel__body{overflow-y:auto;padding:var(--space-5) var(--gutter) var(--space-8);display:grid;gap:var(--space-6);align-content:start}
.alp-shop .panel__foot{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--gutter);border-top:1px solid var(--line-hairline);background:var(--papier-0)}
.alp-shop .search{width:100%;min-height:48px;padding:0 .9rem;background:var(--papier-0);border:1px solid var(--line-hairline);border-radius:var(--radius-md);font-size:var(--text-sm)}
.alp-shop .search:hover{border-color:var(--goud-400)}
.alp-shop .search::placeholder{color:var(--inkt-400)}
.alp-shop .group{border-top:1px solid var(--line-hairline);padding-top:var(--space-4)}
.alp-shop .group:first-of-type{border-top:0;padding-top:0}
.alp-shop .group legend,.alp-shop .group__t{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-accent);margin-bottom:var(--space-3)}
.alp-shop .group__hint{font-size:var(--text-xs);color:var(--text-muted);margin:calc(var(--space-3) * -1) 0 var(--space-3);text-transform:none;letter-spacing:0}
.alp-shop .opts{display:grid;gap:var(--space-1)}
.alp-shop .opt{display:flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:var(--text-sm);color:var(--text-body);cursor:pointer}
.alp-shop .opt input{appearance:none;width:18px;height:18px;flex:0 0 auto;border:1px solid var(--inkt-200);border-radius:2px;background:var(--papier-0);cursor:pointer}
.alp-shop .opt input[type=radio]{border-radius:50%}
.alp-shop .opt input:checked{border:2px solid var(--inkt-900);background:var(--papier-0)}
.alp-shop .opt input:checked::after{content:"";display:block;width:8px;height:8px;margin:3px;border-radius:50%;background:var(--goud-600)}
.alp-shop .opt .n{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}
.alp-shop .opt--off{color:var(--inkt-400);cursor:not-allowed}
.alp-shop .opt--off input{background:var(--papier-200);border-color:var(--papier-300)}
.alp-shop .pills{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.alp-shop .pill{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 1rem;background:var(--papier-0);border:1px solid var(--line-hairline);border-radius:999px;font-size:var(--text-sm);cursor:pointer}
.alp-shop .pill input{position:absolute;opacity:0;width:0;height:0}
.alp-shop .pill:hover{border-color:var(--goud-400);background:var(--goud-100)}
.alp-shop .pill:has(input:checked){border-color:var(--inkt-900);border-width:2px;padding:0 calc(1rem - 1px);color:var(--inkt-900);font-weight:500}
.alp-shop .pill:has(input:checked)::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--goud-600);margin-left:.5rem}
.alp-shop .pill .n{color:var(--text-muted);font-size:var(--text-xs);margin-left:.4rem}
.alp-shop .pill--off{color:var(--inkt-400);border-style:dashed;cursor:not-allowed}
.alp-shop .switch{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:0 var(--space-4);background:var(--papier-0);border:1px solid var(--line-hairline);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer}
.alp-shop .switch input{position:absolute;opacity:0;width:0;height:0}
.alp-shop .switch .track{width:40px;height:22px;flex:0 0 auto;border-radius:999px;background:var(--papier-200);border:1px solid var(--papier-300);position:relative;transition:background var(--dur-base) var(--ease-out)}
.alp-shop .switch .track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--papier-0);box-shadow:0 1px 2px rgba(74,62,40,.2);transition:transform var(--dur-base) var(--ease-out)}
.alp-shop .switch:has(input:checked) .track{background:var(--goud-300);border-color:var(--goud-400)}
.alp-shop .switch:has(input:checked) .track::after{transform:translateX(18px)}
.alp-shop .switch .n{margin-left:auto;font-size:var(--text-xs);color:var(--text-muted)}
@media (min-width:900px){
.alp-shop .panel{position:static;max-height:none;border-radius:0;box-shadow:none;border-top:0;border-bottom:1px solid var(--line-hairline);background:var(--papier-100)}
.alp-shop .panel__head{display:none}
.alp-shop .panel__body{max-width:var(--container);margin:0 auto;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-8) var(--space-10);padding:var(--space-8) var(--gutter)}
.alp-shop .group{border-top:0;padding-top:0}
.alp-shop .group--wide{grid-column:span 2}
.alp-shop .panel__foot{max-width:var(--container);margin:0 auto;width:100%;background:transparent;justify-content:flex-end;border-top:1px solid var(--papier-300)}
.alp-shop .panel__foot .btn--gold{width:auto}
.alp-shop .scrim{display:none!important}
}

/* ---------- product grid ---------- */
.alp-shop .results{padding:var(--section-y) 0}
.alp-shop .cat{margin-top:var(--space-12)}
.alp-shop .cat:first-child{margin-top:0}
.alp-shop .cat[hidden]{display:none}
.alp-shop .cat__head{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-5);border-bottom:1px solid var(--line-hairline);margin-bottom:var(--space-6)}
.alp-shop .cat__head h2{font-size:var(--display-sm)}
.alp-shop .cat__head p{font-size:var(--text-sm);color:var(--text-muted)}
.alp-shop .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,158px),1fr));gap:var(--space-4)}
@media (min-width:640px){.alp-shop .grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:var(--space-6)}}
.alp-shop .p{background:var(--papier-0);border:1px solid var(--line-hairline);border-radius:var(--radius-md);overflow:hidden;transition:box-shadow var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.alp-shop .p[hidden]{display:none}
.alp-shop .p:hover{border-color:var(--goud-300);box-shadow:var(--shadow-card)}
.alp-shop .p__a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.alp-shop .p__a:hover{text-decoration:none;color:inherit}
.alp-shop .p__frame{display:block;position:relative;overflow:hidden}
.alp-shop .p__frame img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 700ms var(--ease-out)}
.alp-shop .p:hover .p__frame img{transform:scale(1.02)}
.alp-shop .p__badge{position:absolute;top:var(--space-3);left:var(--space-3);background:var(--papier-50);border:1px solid var(--goud-300);color:var(--goud-700);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;padding:.3rem .55rem;border-radius:var(--radius-sm)}
.alp-shop .p__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);flex:1}
@media (min-width:640px){.alp-shop .p__body{padding:var(--space-5)}}
.alp-shop .p__title{font-family:var(--font-display);font-size:var(--text-md);line-height:1.25;color:var(--text-heading)}
.alp-shop .p__meta{font-size:var(--text-xs);color:var(--text-muted)}
.alp-shop .p__size{font-size:var(--text-2xs,.72rem);letter-spacing:.04em;color:var(--goud-800);background:var(--goud-100);border:1px solid var(--goud-200);border-radius:var(--radius-sm,4px);padding:.2rem .5rem;align-self:flex-start;line-height:1.3}
.alp-shop .p__price small{font-family:var(--font-body,inherit);font-size:var(--text-xs);color:var(--text-muted);margin-right:.15rem}
.alp-shop .p__price{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-heading);margin-top:auto;padding-top:var(--space-3)}

/* empty state */
.alp-shop .empty{padding:var(--space-16) 0;text-align:center;display:none}
.alp-shop .empty--on{display:block}
.alp-shop .empty h2{font-size:var(--display-sm)}
.alp-shop .empty p{margin:var(--space-4) auto var(--space-6);max-width:44ch;font-size:var(--text-sm);line-height:1.7;color:var(--text-muted)}

/* contact band */
.alp-shop .help{background:var(--inkt-900);color:var(--papier-50);padding:var(--section-y) 0;text-align:center}
.alp-shop .help h2{color:var(--papier-50);font-size:var(--display-sm)}
.alp-shop .help p{margin:var(--space-4) auto 0;max-width:46ch;font-size:var(--text-sm);line-height:1.7;color:var(--papier-300)}
.alp-shop .help__btns{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin-top:var(--space-8)}
.alp-shop .help__btns a{min-height:48px;display:inline-flex;align-items:center;padding:0 1.6rem;border:1px solid var(--papier-300);border-radius:999px;color:var(--papier-50);font-size:var(--text-sm)}
.alp-shop .help__btns a:hover{border-color:var(--goud-300);color:var(--goud-200);text-decoration:none}
@media (prefers-reduced-motion:reduce){.alp-shop *{transition-duration:1ms!important}}

/* ---------- laad- en foutstatus ---------- */
.alp-shop .loading{padding:var(--space-12) 0;text-align:center;font-size:var(--text-sm);color:var(--text-muted)}
.alp-shop .loading[hidden]{display:none}
.alp-shop .skel{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,158px),1fr));gap:var(--space-4);margin-top:var(--space-8)}
@media (min-width:640px){.alp-shop .skel{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:var(--space-6)}}
.alp-shop .skel>span{display:block;aspect-ratio:4/5;background:linear-gradient(100deg,var(--papier-100) 30%,var(--papier-200) 50%,var(--papier-100) 70%);background-size:300% 100%;border:1px solid var(--line-hairline);border-radius:var(--radius-md);animation:alpshimmer 1.4s linear infinite}
@keyframes alpshimmer{to{background-position:-200% 0}}
.alp-shop .err{margin:var(--space-8) 0;padding:var(--space-5) var(--space-6);background:var(--goud-100);border-top:2px solid var(--goud-400);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.7}
.alp-shop .err[hidden]{display:none}
.alp-shop .err code{font-family:ui-monospace,Menlo,monospace;font-size:var(--text-xs);background:var(--papier-0);border:1px solid var(--line-hairline);border-radius:var(--radius-sm);padding:.1rem .35rem;word-break:break-all}
.alp-shop .p__cart{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0 var(--space-4) var(--space-4);padding:0 1rem;background:var(--goud-300);border:1px solid var(--goud-300);border-radius:var(--radius-md);color:var(--inkt-900);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:background var(--dur-base) var(--ease-out)}
@media (min-width:640px){.alp-shop .p__cart{margin:0 var(--space-5) var(--space-5)}}
.alp-shop .p__cart:hover{background:var(--goud-400);border-color:var(--goud-400);color:var(--inkt-900);text-decoration:none}
.alp-shop .p__stock{padding:0 var(--space-4) var(--space-3);font-size:var(--text-xs);color:var(--goud-700)}
.alp-shop .p__price del{color:var(--inkt-400);font-size:var(--text-md);margin-right:.4rem}
.alp-shop .p__price ins{text-decoration:none}
.alp-shop .doors__row:empty,.alp-shop .doors:has(.doors__row:empty){display:none}

/* ---------- zonder JavaScript ---------- */
/* laadstatus en filters zijn dan nutteloos; de <noscript>-lijst met links blijft over */
@media (scripting:none){.alp-shop .loading,.alp-shop .bar,.alp-shop .doors{display:none}}
.alp-shop .nojs{padding:var(--space-6) 0}
.alp-shop .nojs h2{font-size:var(--display-sm);margin-bottom:var(--space-4)}
.alp-shop .nojs ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:var(--space-2) var(--space-6);margin-bottom:var(--space-8)}
.alp-shop .nojs a{font-size:var(--text-sm)}
