/*
Theme Name: FELSi Clean
Description: Independently authored free theme for FELSi's sustainable packaging catalogue.
Version: 1.0.1
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: felsi-clean
*/
/* Shortcode layout attributes belong to each component, not its descendants. */
:where(.felsi-row,.felsi-row-inner,.felsi-row-inner-1,.felsi-row-inner-2,.felsi-col,.felsi-col-inner,.felsi-col-inner-1,.felsi-col-inner-2,.felsi-section,.felsi-ux-banner,.felsi-text-box,.felsi-ux-text,.felsi-ux-image,.felsi-ux-image-box,.felsi-featured-box,.felsi-accordion,.felsi-accordion-item,.felsi-ux-menu,.felsi-ux-menu-link,.felsi-ux-menu-title,.felsi-page-header,.felsi-button,.felsi-gap,.felsi-divider,.felsi-follow,.felsi-share,.felsi-logo,.felsi-ux-html,.felsi-ux-stack,.felsi-slider){--padding:initial;--padding-md:initial;--padding-sm:initial;--margin:initial;--margin-md:initial;--margin-sm:initial;--height:initial;--height-md:initial;--height-sm:initial;--width:initial;--width-md:initial;--width-sm:initial;--span:initial;--span-md:initial;--span-sm:initial;--image-width:initial;--overlay:initial;}
.felsi-row,.felsi-row-inner,.felsi-row-inner-1,.felsi-row-inner-2{--col-bg:initial}
:is(.felsi-row,.felsi-row-inner,.felsi-row-inner-1,.felsi-row-inner-2)>:is(.felsi-col,.felsi-col-inner,.felsi-col-inner-1,.felsi-col-inner-2){background-color:var(--col-bg,transparent)}
:root{--green:#315345;--accent:#408a6b;--paper:#f5f7f1;--ink:#263b31}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.65;font-size:16px}a{color:var(--green);text-underline-offset:.2em}a:hover{color:var(--accent)}img{max-width:100%;height:auto;vertical-align:middle}iframe{max-width:100%;border:0}h1,h2,h3,h4{color:inherit;line-height:1.25;overflow-wrap:break-word}h1{font-size:clamp(1.9rem,3vw,3rem)}h2{font-size:clamp(1.5rem,2.3vw,2.1rem)}h3{font-size:1.25rem}p{margin:0 0 1.2em}button,input,select,textarea{font:inherit}button,.felsi-button,input[type=submit]{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #c28228;outline-offset:4px}.skip-link{position:fixed;left:1rem;top:-6rem;z-index:1000;background:#fff;padding:.8rem}.skip-link:focus{top:1rem}.site-header{background:#fff;border-bottom:1px solid #e0e7e1;position:relative;z-index:20}.header-inner{max-width:1400px;margin:auto;display:flex;align-items:center;gap:1.8rem;padding:1.1rem 2rem;min-height:96px}.brand{flex:0 0 166px}.brand img{width:166px;height:auto}.header-inner nav{margin-left:auto}.header-inner ul{list-style:none;padding:0;margin:0}.header-inner nav>.menu{display:flex;align-items:center;gap:1.2rem}.header-inner a{text-decoration:none;font-weight:600}.menu-item{position:relative}.menu-item>a{display:inline-block;padding:.6rem 0}.submenu-toggle{border:0;background:transparent;color:var(--green);padding:.4rem}.header-inner .sub-menu{display:none;position:absolute;left:0;top:100%;width:260px;background:#fff;padding:1rem;border:1px solid #e0e7e1;box-shadow:0 8px 24px #15342512}.header-inner .sub-menu .sub-menu{left:100%;top:0}.menu-item:focus-within>.sub-menu,.menu-item:hover>.sub-menu,.submenu-open>.sub-menu{display:block}.header-inner .sub-menu a{font-size:.9rem;padding:.35rem 0}.language-navigation{font-size:.85rem;flex-shrink:0}.menu-toggle{display:none;background:var(--green);color:#fff;border:0;padding:.6rem 1rem;border-radius:4px}.page-content{max-width:1280px;margin:auto;padding:2.5rem 2rem}.home .page-content,.page .page-content{max-width:none;padding:0}.page-content>article>p,.page-content>article>h1,.page-content>article>h2,.page-content>article>h3,.page-content>article>ul,.page-content>article>ol{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.felsi-section,.felsi-row,.felsi-row-inner,.felsi-row-inner-1,.felsi-row-inner-2,.felsi-col,.felsi-col-inner,.felsi-col-inner-1,.felsi-col-inner-2,.felsi-text-box,.felsi-ux-text,.felsi-ux-image,.felsi-page-header,.felsi-ux-banner,.felsi-gap{padding:var(--padding,0);margin:var(--margin,0)}.felsi-section{position:relative;background-size:cover;background-position:center;padding:var(--padding,2.5rem 1rem)}.felsi-row,.felsi-row-inner,.felsi-row-inner-1,.felsi-row-inner-2{display:flex;flex-wrap:wrap;gap:0;width:100%;max-width:1200px;margin-left:auto;margin-right:auto;align-items:stretch;justify-content:center}.felsi-col,.felsi-col-inner,.felsi-col-inner-1,.felsi-col-inner-2{--span:12;flex:0 0 calc(var(--span)/12 * 100%);width:calc(var(--span)/12 * 100%);min-width:0;padding:var(--padding,1rem)}.felsi-ux-text:empty{display:none}.felsi-ux-text>*:last-child{margin-bottom:0}.felsi-ux-image{width:var(--width,100%);max-width:100%;margin:var(--margin,0 auto)}.felsi-ux-image img{width:100%;object-fit:contain}.felsi-ux-banner,.felsi-page-header{position:relative;background-size:cover;background-position:center;min-height:min(var(--height,420px),800px);display:flex;align-items:center;isolation:isolate}.felsi-ux-banner:before,.felsi-page-header:before,.felsi-section:before{content:"";position:absolute;inset:0;background:var(--overlay,transparent);z-index:-1;pointer-events:none}.felsi-text-box{position:relative;width:var(--width,70%);margin:var(--margin,0 auto);padding:var(--padding,2rem);max-width:100%}.felsi-page-header{min-height:min(var(--height,200px),500px);justify-content:center;text-align:center;color:#fff;background-color:var(--green);padding:var(--padding,2rem)}.felsi-page-header h1{max-width:1000px;margin:.5rem auto;text-shadow:0 1px 10px #0007}.felsi-page-header p{margin:0}.felsi-ux-image-box{height:100%;position:relative;overflow:hidden;border-radius:8px}.felsi-ux-image-box>img,.felsi-ux-image-box>a>img{display:block;width:var(--image-width,100%);margin-left:auto;margin-right:auto;max-height:540px;object-fit:contain}.felsi-image-copy{padding:1rem 0}.felsi-image-overlay{display:grid;background:var(--green);color:#fff}.felsi-image-overlay>img,.felsi-image-overlay>.felsi-image-copy{grid-area:1/1}.felsi-image-overlay>img{height:100%;width:100%;object-fit:cover;opacity:.16}.felsi-image-overlay>.felsi-image-copy{position:relative;padding:2rem}.felsi-featured-box{display:flex;align-items:flex-start;gap:1rem;margin:1rem 0}.felsi-featured-box>img{width:28px}.felsi-featured-box .felsi-image-copy{padding:0}.felsi-button,input[type=submit],button[type=submit]{display:inline-block;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:2rem;padding:.7rem 1.6rem;margin:.7rem .25rem .7rem 0;text-decoration:none;font-weight:700}.felsi-button:hover,input[type=submit]:hover{background:var(--accent);color:#fff}.felsi-gap{height:min(var(--height,24px),240px)}.felsi-divider{height:1px;width:80px;background:var(--accent);margin:1.5rem auto}.felsi-accordion-item{border-bottom:1px solid #ccd8ce;padding:.8rem 0}.felsi-accordion-item summary{font-weight:700;cursor:pointer;padding:.5rem 0}.felsi-accordion-item>div{padding:1rem 0}.felsi-ux-menu-link{display:block;margin:.4rem 0;text-decoration:none}.felsi-ux-menu-title{font-size:1rem;letter-spacing:.04em}.felsi-follow{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.felsi-follow a{color:inherit}.felsi-share{font-size:.85rem}.felsi-logo{max-width:166px;margin-bottom:1.5rem}.felsi-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.felsi-slider>*{flex:0 0 100%;scroll-snap-align:start;min-width:0}.felsi-ux-stack{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.site-footer{margin-top:2rem;background:var(--paper)}.footer-content{max-width:1240px;margin:auto;padding:2rem 1rem}.copyright{text-align:center;border-top:1px solid #dbe4da;padding:1.2rem;margin:0;font-size:.85rem}.felsi-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.felsi-product-card{border:1px solid #e3e9e1;border-radius:6px;padding:1rem;background:#fff;overflow:hidden}.felsi-product-card a{text-decoration:none}.felsi-product-card img{width:100%;height:230px;object-fit:contain}.felsi-product-card h2,.felsi-product-card h3{font-size:1.15rem;margin:1rem 0 .5rem}.felsi-catalogue-filters{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0;align-items:end}.felsi-catalogue-filters label{display:flex;flex-direction:column;gap:.3rem}.felsi-catalogue-filters select,.felsi-catalogue-filters input{max-width:100%;padding:.6rem;border:1px solid #9daf9f;border-radius:4px}.wpcf7,.mc4wp-form{max-width:100%}.wpcf7 label{display:block;margin-bottom:.8rem}.wpcf7 input:not([type=submit]):not([type=checkbox]),.wpcf7 textarea,.mc4wp-form input[type=email]{max-width:100%;width:100%;padding:.7rem;border:1px solid #9daf9f;border-radius:3px;background:#fff;color:var(--ink)}.wpcf7-response-output{color:var(--ink);background:#fff}.show-for-small,.show-for-medium{display:none!important}.search-form{display:flex;gap:.5rem}.search-form input{max-width:100%;min-width:0}.catalogue-single>article>.wp-post-image{max-height:600px;object-fit:contain;display:block;margin:1rem auto}
@media(max-width:1100px){.header-inner{flex-wrap:wrap;gap:1rem}.header-inner nav{order:4;width:100%}.header-inner nav>.menu{justify-content:center}.language-navigation{margin-left:auto}.felsi-col,.felsi-col-inner,.felsi-col-inner-1,.felsi-col-inner-2{flex-basis:calc(var(--span-md,var(--span))/12 * 100%);width:calc(var(--span-md,var(--span))/12 * 100%)}.hide-for-medium{display:none!important}.show-for-medium{display:block!important}.felsi-col,.felsi-col-inner,.felsi-col-inner-1,.felsi-col-inner-2{padding:var(--padding-md,var(--padding,1rem));margin:var(--margin-md,var(--margin,0))}}
@media(max-width:700px){.header-inner{padding:1rem}.brand{flex-basis:140px}.brand img{width:140px}.menu-toggle{display:block;margin-left:auto}.language-navigation{width:100%;text-align:right}.felsi-js .header-inner nav{display:none}.felsi-js .header-inner nav.is-open{display:block}.header-inner nav>.menu{display:block}.header-inner .sub-menu,.header-inner .sub-menu .sub-menu{position:static;width:100%;box-shadow:none;padding:.5rem 1rem;border:0;border-left:2px solid #d5e0d5}.felsi-js .menu-item:hover>.sub-menu,.felsi-js .menu-item:focus-within>.sub-menu{display:none}.menu-item.submenu-open>.sub-menu{display:block}.menu-item>a{width:calc(100% - 44px)}.submenu-toggle{width:40px}.felsi-col,.felsi-col-inner,.felsi-col-inner-1,.felsi-col-inner-2{flex-basis:calc(var(--span-sm,12)/12 * 100%);width:calc(var(--span-sm,12)/12 * 100%);padding:var(--padding-sm,1rem);margin:var(--margin-sm,0)}.felsi-section{padding:var(--padding-sm,2rem 1rem)}.felsi-text-box{width:var(--width-sm,100%);padding:var(--padding-sm,1.3rem);margin:var(--margin-sm,0 auto)}.felsi-ux-banner{min-height:var(--height-sm,320px)}.felsi-page-header{min-height:var(--height-sm,140px)}.felsi-gap{height:var(--height-sm,var(--height,24px))}.felsi-ux-image{width:var(--width-sm,100%)}.page-content{padding:1.5rem 1rem}.felsi-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.felsi-product-card{padding:.6rem}.felsi-product-card img{height:160px}.hide-for-small{display:none!important}.show-for-small{display:block!important}.felsi-image-overlay>.felsi-image-copy{padding:1.3rem}.felsi-ux-text span{font-size:inherit!important}.felsi-ux-text h1{font-size:2rem}.felsi-ux-text h2{font-size:1.5rem}.footer-content{padding:1rem}.search-form{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.felsi-slider{scroll-snap-type:none}}

/* Compatibility for the preserved newsletter and fixed-width source content. */
.felsi-newsletter{background:var(--green);color:#fff}.felsi-newsletter .felsi-section,.felsi-newsletter .felsi-ux-banner{isolation:isolate;--overlay:rgba(49,83,69,.94)}.felsi-newsletter .mc4wp-form button[type=submit]{background:#fff;color:var(--green);border-color:#fff}.felsi-newsletter .mc4wp-response{color:inherit}
.felsi-table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto}.felsi-table-scroll table{min-width:100%;border-collapse:collapse;height:auto!important}.felsi-table-scroll th,.felsi-table-scroll td{padding:.7rem;vertical-align:top;border:1px solid #ccd8ce}
.felsi-ux-text{min-width:0;font-size:var(--font-size,inherit);line-height:var(--line-height,inherit)}
@media(max-width:1100px){.felsi-ux-text{font-size:var(--font-size-md,var(--font-size,inherit));line-height:var(--line-height-md,var(--line-height,inherit))}}
@media(max-width:700px){.felsi-ux-image{margin:var(--margin-sm,0 auto);min-width:0}.felsi-ux-text{font-size:var(--font-size-sm,var(--font-size-md,var(--font-size,inherit)));line-height:var(--line-height-sm,var(--line-height-md,var(--line-height,inherit)))}}
