/*
Theme Name: Buchbinderei Weith – Modern
Description: Das bestehende Erscheinungsbild der Buchbinderei Weith als responsives WordPress-Theme.
Version: 1.1.0
Requires at least: 6.8
Requires PHP: 8.3
Text Domain: weith
License: GPL-2.0-or-later
*/
@import url('assets/open-sans.css');
@import url('assets/abel.css');
:root{--green:#10662d;--ink:#24282c;--text:#444;--line:#ededed;--width:1170px}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:#fff;font:16px/1.6 'Open Sans',sans-serif;font-weight:300}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.25}h1{font-size:35px}h2{font-size:30px}h3{font-size:22px}p{margin:0 0 22px}.container{width:min(var(--width),calc(100% - 60px));margin-inline:auto}.skip-link{position:fixed;left:12px;top:-100px;z-index:1000;background:#fff;padding:12px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #bc8313;outline-offset:4px}
.topbar{background:var(--ink);color:#eee;font-size:14px;font-weight:400;min-height:45px;display:flex;align-items:center}.topbar a{color:inherit;margin-right:22px}.icon{width:1em;height:1em;vertical-align:-.1em;fill:currentColor;margin-right:6px}.site-header{background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 5px #00000012}.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:90px}.brand img{display:block;width:260px;max-height:85px;object-fit:contain}.primary-menu,.primary-menu ul{list-style:none;margin:0;padding:0}.primary-menu{display:flex;align-items:stretch}.primary-menu>li{position:relative;border-left:1px solid var(--line);display:flex;align-items:center}.primary-menu>li:last-child{border-right:1px solid var(--line)}.primary-menu>li>a{display:block;padding:31px 18px;color:#151515;font-size:14px;font-weight:600;letter-spacing:1px}.primary-menu>.current-menu-item>a,.primary-menu>.current-menu-ancestor>a{color:var(--green)}.primary-menu a:hover{text-decoration:none;color:var(--green)}.primary-menu .home-link>a{font-size:0}.primary-menu .home-link>a:before{content:'⌂';font-size:33px;line-height:20px;font-weight:700;color:var(--green)}.submenu-toggle{background:none;border:0;padding:10px 10px 10px 0;color:inherit}.primary-menu>li.menu-item-has-children>a{padding-right:3px}.primary-menu>li>.sub-menu{display:none;position:absolute;top:100%;right:0;min-width:250px;background:#fff;border-top:3px solid var(--green);box-shadow:0 8px 20px #0002;padding:18px;z-index:51}.primary-menu>li.open>.sub-menu{display:block}.primary-menu .sub-menu a{display:block;font-size:14px;color:#444;padding:8px 5px;font-weight:400}.primary-menu>.mega-menu>.sub-menu{width:730px;grid-template-columns:1fr 1.2fr .85fr;gap:22px}.primary-menu>.mega-menu.open>.sub-menu{display:grid}.mega-menu>.sub-menu>li>a{font-weight:600;font-size:16px;border-bottom:1px solid #eee;padding-bottom:14px}.mega-menu .sub-menu .sub-menu{padding-top:8px}.mega-menu .sub-menu .submenu-toggle{display:none}.menu-toggle{display:none;background:var(--green);color:#fff;border:0;border-radius:2px;padding:10px 14px}
.intro-section{text-align:center;padding:47px 0 58px;max-width:850px;margin:auto}.intro-section h1,.intro-section h2{font-size:35px;margin:0 0 22px}.intro-section h1:after,.intro-section h2:after{content:'';display:block;width:40px;height:2px;background:var(--green);margin:22px auto 0}.intro-section p{line-height:1.55}.intro-section p:last-child{margin:31px 28px 15px 0;font-style:italic}.hours-banner{background:var(--green) url('assets/hours-bg.jpg') center/cover;padding:61px 20px 71px}.hours-card{background:var(--green);color:#fff;border-radius:3px;position:relative;width:min(775px,calc(100% - 100px));margin:auto;padding:40px 32px 40px 81px;min-height:208px;font-size:20px;font-weight:600;line-height:1.35}.hours-card:after{content:'';position:absolute;bottom:-17px;left:48px;border-top:17px solid #0002;border-left:17px solid transparent}.hours-card img{position:absolute;left:-83px;top:32px;width:148px;height:152px;object-fit:cover;border-radius:50%}.hours-card p{margin:0}.story-intro{padding-bottom:24px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding:0 10px 64px}.service-grid figure{position:relative;overflow:hidden;align-self:start}.service-grid figure img{width:100%;display:block;transition:transform .3s}.service-grid figcaption{position:absolute;inset:auto 0 0;background:#10662deb;color:#fff;font-size:23px;font-weight:400;padding:20px;pointer-events:none;opacity:0;transform:translateY(10px);transition:.2s}.service-grid figure:hover figcaption,.service-grid figure:focus-within figcaption{opacity:1;transform:none}.service-grid figure:hover img{transform:scale(1.025)}
.page-banner{background:#064b17 url('assets/page-bg.jpg') center/cover;text-align:center;color:#fff;padding:62px 20px 80px}.page-banner h1{font-family:Abel,sans-serif;font-size:35px;margin:0}.page-banner h1:after{content:'';display:block;width:40px;height:2px;background:#fff;margin:16px auto}.page-banner p{font-weight:600;margin:0}.page-body{padding-block:38px 70px;min-height:320px}.page-heading{font-size:18px;font-weight:600;padding-bottom:23px;border-bottom:1px solid #eee;margin:0 0 35px}.page-content{overflow-wrap:anywhere}.page-content h2{margin-top:35px}.page-content .grow img{display:block;margin-bottom:25px}.page-content .row{display:flex;flex-wrap:wrap;margin:0 -15px}.page-content [class*='col-']{padding:0 15px}.page-content .col-md-6{width:50%}.page-content .col-md-4{width:33.333%}.page-content .team-member{text-align:center;margin-bottom:35px}.member-name{font-size:21px;font-weight:600}.page-content table{border-collapse:collapse;max-width:100%;width:100%}.page-content td,.page-content th{border:1px solid #ddd;padding:10px;text-align:left}.hours-table{max-width:650px}.swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-bottom:50px}.swatch-grid img{width:100%;aspect-ratio:1;object-fit:cover}.swatch-grid figcaption{font-size:14px;margin-top:8px;font-weight:400}.map-panel{min-height:300px;background:#e7e6e2;display:grid;place-items:center;text-align:center;padding:35px 20px}.map-panel h2{font-size:23px;margin:0 0 10px}.map-panel p{margin-bottom:16px}.map-panel iframe{width:100%;height:300px;border:0}.map-panel.loaded{padding:0}.button,.contact-form button{background:var(--green);color:#fff;border:0;padding:12px 22px;border-radius:2px;font-weight:600;display:inline-block}.button:hover{color:#fff;background:#0b4a20;text-decoration:none}.map-note{font-size:13px;max-width:600px;margin:12px auto!important}.site-footer{background:var(--ink);color:#eee;padding:27px 0 30px}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.site-footer h2{font-size:20px;font-weight:600;margin:0 0 22px}.site-footer h2:after{content:'';width:40px;height:2px;display:block;background:var(--green);margin-top:17px}.site-footer a{color:#eee}.site-footer p{margin-bottom:16px}.site-footer .icon{color:#27854a}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:0 0 11px}.social-link{background:var(--green);width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:23px}.copyright{background:var(--green);color:#fff;padding:14px 0;font-size:14px;text-align:center}.back-top{position:fixed;right:22px;bottom:22px;background:#24282ccc;border:1px solid #aaa;color:#fff;padding:8px 13px;z-index:40}.contact-form{max-width:700px}.contact-form label{display:block;margin:18px 0 5px;font-weight:600}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:2px;background:#fff}.contact-form textarea{min-height:170px;resize:vertical}.contact-form .copy-label{font-size:14px;font-weight:400;margin-bottom:20px}.contact-form .honey{position:absolute;left:-10000px}.form-message{padding:16px;border-left:4px solid var(--green);background:#edf5ef;margin-bottom:20px}.form-message.error{border-color:#b12727;background:#fff1ef}.privacy-note{font-size:14px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.no-results{text-align:center;padding:70px 20px}
@media(hover:hover) and (min-width:901px){.primary-menu>li:hover>.sub-menu{display:block}.primary-menu>.mega-menu:hover>.sub-menu{display:grid}}
@media(max-width:900px){.container{width:calc(100% - 40px)}.brand img{width:225px}.menu-toggle{display:block}.header-inner{min-height:84px;flex-wrap:wrap}.site-nav{display:none;flex-basis:100%;width:100%;max-height:calc(100dvh - 125px);overflow:auto}.site-nav.is-open{display:block}.primary-menu{display:block;padding:12px 0}.primary-menu>li{display:flex;flex-wrap:wrap;border:0!important;justify-content:space-between}.primary-menu>li>a{padding:13px 0;flex:1}.primary-menu>li>.sub-menu,.primary-menu>.mega-menu>.sub-menu{position:static;width:100%;min-width:0;box-shadow:none;border:0;padding:0 0 10px 20px}.primary-menu>.mega-menu.open>.sub-menu{display:block}.submenu-toggle{padding:13px 16px}.primary-menu .home-link>a{font-size:14px}.primary-menu .home-link>a:before{display:none}.mega-menu>.sub-menu>li>a{padding-bottom:7px}.hours-card{font-size:18px}.intro-section{padding-inline:25px}.intro-section h1,.intro-section h2{font-size:30px}.swatch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.topbar{font-size:12px;min-height:38px}.topbar a{margin-right:10px;white-space:nowrap}.brand img{width:210px}.header-inner{min-height:78px}.admin-bar .site-header{top:0}.intro-section{padding:36px 20px}.intro-section h1,.intro-section h2{font-size:27px}.intro-section p:last-child{margin-right:0}.hours-banner{padding:38px 20px}.hours-card{width:100%;padding:25px 20px;text-align:center;font-size:16px}.hours-card img{position:static;width:105px;height:108px;margin:0 auto 20px;display:block}.hours-card:after{display:none}.service-grid{grid-template-columns:1fr;gap:22px;padding:0 0 40px}.service-grid figcaption{position:static;opacity:1;transform:none;font-size:19px;padding:12px 16px}.page-banner{padding:40px 20px}.page-banner h1{font-size:30px}.page-body{padding-block:28px 45px}.page-content .col-md-6,.page-content .col-md-4{width:100%}.footer-grid{grid-template-columns:1fr;gap:25px}.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.site-footer{padding-block:35px}.back-top{right:12px;bottom:12px}.page-content table{font-size:14px}.page-content td{padding:8px}.map-panel{min-height:280px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.book-slider{max-width:1100px;margin:0 auto 30px}.book-slider img{width:100%;height:auto;display:block}.book-slider img[hidden]{display:none}.slider-controls{display:flex;gap:20px;align-items:center;justify-content:center;margin:12px}.slider-controls button{border:1px solid #10662d;background:#fff;color:#10662d;padding:6px 18px}.btn{display:inline-block;background:#10662d;color:#fff;padding:10px 20px}
.hours-banner{background-position:0 0;background-size:auto}.hours-card{font-weight:400}.primary-menu .home-link>a:before{content:"";display:block;width:28px;height:28px;background:var(--green);mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27%3E%3Cpath d=%27M12 2L1 11l2 2 2-2v11h5v-7h4v7h5V11l2 2 2-2-4-3V3h-3v3z%27/%3E%3C/svg%3E") center/contain no-repeat}.service-grid.masonry{display:block;position:relative}.service-grid.masonry>figure{position:absolute;margin:0}.service-grid{padding-bottom:64px}@media(max-width:600px){.primary-menu .home-link>a:before{display:none}.service-grid{padding-bottom:40px}}
.service-grid>.wp-block-group__inner-container,.swatch-grid>.wp-block-group__inner-container{display:contents}.service-grid.masonry figure{position:absolute;margin:0}.service-grid .wp-block-image img{width:100%}.swatch-grid .wp-block-image{margin:0}@media(max-width:600px){.service-grid figure{position:relative}}
.service-grid .wp-block-image>a{display:block;width:100%}.service-grid .wp-block-image>a>img{display:block;width:100%;max-width:none;height:auto}
@media(min-width:992px){.service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}}
/* Original grid: expanding dark overlay, then sliding title and delayed arrow. */
.service-grid figure>a:after{content:'';position:absolute;left:0;top:0;width:0;height:0;opacity:0;background:rgba(0,0,0,.7);transition:width .2s,height .2s,opacity .2s;pointer-events:none}
.service-grid figure:hover>a:after,.service-grid figure:focus-within>a:after{width:100%;height:100%;opacity:1}
.service-grid figure:hover img{transform:none}
.service-grid figure figcaption{position:absolute;inset:0;margin:0;padding:15px;background:transparent;color:#fff;text-align:left;line-height:normal;opacity:0;transform:none;visibility:hidden;transition:none;pointer-events:none}
.service-grid figure:hover figcaption,.service-grid figure:focus-within figcaption{opacity:1;visibility:visible}
.service-title{display:block;font-family:Abel,sans-serif;font-size:35px;font-weight:400;line-height:1.1;margin:0 0 15px;opacity:0;transform:translateY(-25px);transition:opacity .2s .2s,transform .2s .2s}
.service-title:before{content:'';display:block;width:25px;height:4px;background:#fff;margin-bottom:20px}
.service-arrow{display:block;width:46px;height:47px;background:url('assets/r-arrow.jpg') center/contain no-repeat;opacity:0;transition:opacity .3s .6s}
.service-grid figure:hover .service-title,.service-grid figure:focus-within .service-title{opacity:1;transform:none}
.service-grid figure:hover .service-arrow,.service-grid figure:focus-within .service-arrow{opacity:1}
@media(prefers-reduced-motion:reduce){.service-grid figure>a:after,.service-title,.service-arrow{transition:none}}
.swatch-carousel{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-bottom:15px}
.swatch-carousel figure[hidden]{display:none!important}
.swatch-carousel img{width:270px;max-width:100%;aspect-ratio:auto;object-fit:contain}
.swatch-carousel figcaption{font-size:16px;font-weight:300;margin-top:15px}
.swatch-controls{display:flex;justify-content:center;gap:8px;margin-bottom:45px}
.swatch-controls button{border:0;background:#24282c;color:#fff;width:32px;height:32px;font-size:24px;line-height:1}
.page-content:has(.swatch-grid)>h2{text-align:center;font-size:35px;margin:12px 0 20px}
.page-content:has(.swatch-grid)>h2:after{content:'';display:block;width:40px;height:2px;background:var(--green);margin:22px auto 0}
.page-body:has(.swatch-grid)>.page-heading{display:none}
@media(max-width:900px){.swatch-carousel{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.swatch-carousel{grid-template-columns:1fr;text-align:center}}
.book-slider{position:relative;overflow:hidden;touch-action:pan-y}
.book-slider .incoming-slide{position:absolute;top:0;left:0;width:100%}
.book-slider .slider-controls{margin:0}
.book-slider .slider-controls button{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:#000a;color:#fffc;border:0;border-radius:3px;padding:2px 9px;font-size:24px}
.book-slider [data-slide=prev]{left:15px}.book-slider [data-slide=next]{right:15px}
.book-slider .slide-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.cookie-hint{position:fixed;bottom:0;left:0;right:0;background:#aaa;color:#fff;z-index:100;font-size:14px;font-weight:300;padding:8px 0}
.cookie-hint[hidden]{display:none}.cookie-hint>.container{display:flex;align-items:center;justify-content:space-between;gap:20px}
.cookie-dismiss{border:0;background:#333;color:#fff;padding:5px 12px;font-size:12px;text-transform:uppercase}
@media(max-width:600px){.cookie-hint{font-size:12px;line-height:1.4}.cookie-hint>.container{gap:12px}}
