.kpv{--ink:#352b20;color:var(--ink);font:17px/1.5 Georgia,serif;position:relative;isolation:isolate;padding:18px 22px 12px;min-height:650px;height:calc(100dvh - 110px);max-height:1000px;background:#211b14;overflow:hidden;box-sizing:border-box}
.kpv::before{content:"";position:absolute;inset:-12px;background:linear-gradient(#16150fcc,#16150fc9),url('schreibtisch.png') center/cover;filter:blur(7px);z-index:-1}
.kpv *{box-sizing:border-box}.kpv [hidden]{display:none!important}.kpv button,.kpv a{touch-action:manipulation}.kpv button{cursor:pointer;color:inherit;font:inherit}.kpv :focus-visible{outline:3px solid #a95d00;outline-offset:3px}
.kpv-head{height:70px;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1160px;margin:auto;color:#f5ead3}.kpv-head p{font:12px/1.4 Arial,sans-serif;margin:0 0 4px}.kpv-head h1{font:normal clamp(24px,3vw,34px)/1.1 Georgia,serif;margin:0;color:inherit}.kpv-head a,.kpv-foot a{color:#f5ead3;text-decoration:underline;text-underline-offset:4px;font:13px/1.4 Arial,sans-serif}
.kpv-ledger{position:relative;width:min(1160px,100%);height:calc(100% - 110px);margin:auto;background:url('kalender-desktop.png') center/100% 100%;border-radius:9px;box-shadow:-14px 20px 28px #0009}
.kpv-paper{position:absolute;left:6%;right:6%;top:23%;bottom:9%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#927552 transparent;scrollbar-width:thin}
.kpv-tabs{display:flex;gap:8px;margin:0 0 18px;flex-wrap:wrap}.kpv-tabs button{border:1px solid #a9936b;border-radius:4px 4px 0 0;padding:7px 16px;background:#e2d1ae;box-shadow:1px 2px 3px #4d351c24;font:16px/1.4 Georgia,serif;min-height:44px}.kpv-tabs button[aria-pressed=true]{background:#fbf0d5;border-bottom:3px solid #a76413;color:#3b2b13}
.kpv-category{font:italic normal clamp(21px,2.3vw,29px)/1.2 Georgia,serif;margin:0 0 8px;color:var(--ink)}.kpv-guide{margin:0 0 10px;font:15px/1.5 Arial,sans-serif}.kpv-service{position:relative;display:grid;grid-template-columns:1fr auto;gap:4px 14px;text-align:left;width:100%;padding:14px 36px 14px 2px;border:0;border-bottom:1px solid #b8a27d;background:transparent;min-height:68px}.kpv-service:hover{background:#fff8e53d}.kpv-service span:first-child{font-size:21px}.kpv-service small{align-self:center;font:15px/1.4 Arial,sans-serif}.kpv-arrow{position:absolute;right:7px;top:50%;transform:translateY(-50%);color:#8b4e0c}.kpv-note{font:13px/1.5 Arial,sans-serif;margin:16px 0;color:#594b35}
.kpv-booking{height:100%;display:flex;flex-direction:column;min-height:0}.kpv-booking header{display:flex;gap:12px;align-items:center;justify-content:space-between;flex:none;border-bottom:1px solid #b8a27d;padding-bottom:7px}.kpv-back{background:transparent;border:0;padding:6px 2px;font-size:15px!important;text-decoration:underline;min-height:44px}.kpv-chosen{font-size:16px}.kpv-frame{flex:1;min-height:0}.kpv-frame iframe{display:block;width:100%;height:100%;border:0;background:transparent}.kpv-status{font:14px/1.4 Arial,sans-serif;padding:8px 0;margin:0}.kpv-foot{height:40px;max-width:1160px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:auto;color:#e4d8c0;font:12px/1.4 Arial,sans-serif}
@media(max-width:600px){.kpv{padding:10px 4px 5px;height:calc(100dvh - 75px);min-height:570px}.kpv-head{padding:0 8px;height:65px}.kpv-head a{max-width:70px;font-size:12px}.kpv-head h1{font-size:24px}.kpv-ledger{height:calc(100% - 100px);background-image:url('kalender-mobil.png');background-size:100% 100%;box-shadow:-5px 10px 18px #0009}.kpv-paper{left:23%;right:5%;top:5%;bottom:6%}.kpv-tabs{gap:4px;margin-bottom:14px;display:grid;grid-template-columns:1fr}.kpv-tabs button{text-align:left;min-height:42px;font-size:15px;padding:5px 8px;border-radius:2px}.kpv-category{font-size:22px}.kpv-guide{font-size:14px}.kpv-service{display:block;padding:12px 21px 12px 0}.kpv-service span:first-child{display:block;font-size:18px;line-height:1.3}.kpv-service small{display:block;font-size:13px;margin-top:5px}.kpv-foot{height:35px;padding:0 8px;justify-content:flex-end}.kpv-foot>span{display:none}.kpv-chosen{display:none}.kpv-booking header{padding-bottom:3px}.kpv-back{font-size:13px!important}.kpv-note{font-size:12px}}

/* 0.1.1: viewport layout, isolated from the live appointment page. */
body.kpv-preview-page #page-content .l-section:has(.kpv){padding:0!important}
body.kpv-preview-page #page-content .l-section:has(.kpv)>.l-section-h{max-width:none!important;width:100%!important;margin:0!important}
body.kpv-preview-page #page-content .wpb_wrapper:has(>.kpv){margin:0!important}
body.kpv-preview-page #page-content .wpb_text_column:has(.kpv){margin-bottom:0!important}
.kpv{height:calc(100dvh - var(--kpv-header-height,80px));min-height:560px;max-height:none;padding:10px 16px 6px;display:flex;flex-direction:column;gap:6px}
.kpv::before{filter:blur(3px);background-image:linear-gradient(#16150f66,#16150f77),url('schreibtisch.png')}
.kpv .kpv-head{height:auto;min-height:44px;flex:0 0 auto;width:100%;max-width:1320px;padding:0 8px}
.kpv .kpv-head p{display:none}
.kpv .kpv-head h1{font:normal 28px/1.15 Georgia,serif!important;letter-spacing:0!important;margin:0!important;padding:0!important}
.kpv .kpv-head a{font:13px/1.3 Arial,sans-serif!important;max-width:none}
.kpv .kpv-ledger{flex:1;min-height:0;height:auto;width:min(1320px,100%)}
.kpv .kpv-paper{left:5%;right:5%;top:19%;bottom:7%;overflow:auto}
.kpv:has(.kpv-booking:not([hidden])) .kpv-paper{overflow:hidden}
.kpv .kpv-category{font:italic normal 25px/1.2 Georgia,serif!important;letter-spacing:0!important;margin:12px 0 6px!important}
.kpv .kpv-guide{font:15px/1.4 Arial,sans-serif!important;margin:0 0 8px!important}
.kpv .kpv-tabs{margin:0 0 8px;gap:6px}
.kpv .kpv-tabs button{font:16px/1.2 Georgia,serif!important;padding:7px 12px;min-height:44px}
.kpv .kpv-service{min-height:60px;padding-top:10px;padding-bottom:10px}
.kpv .kpv-service span:first-child{font:20px/1.3 Georgia,serif!important}
.kpv .kpv-note{font:13px/1.4 Arial,sans-serif!important;margin:10px 0 0!important}
.kpv .kpv-booking header{min-height:36px;padding:0 0 3px}
.kpv .kpv-back{min-height:36px;font:15px/1.2 Georgia,serif!important}
.kpv .kpv-foot{flex:0 0 24px;height:24px;width:100%;max-width:1320px;font:12px/1.3 Arial,sans-serif!important}
@media(max-width:600px){
.kpv{padding:6px 0 4px;min-height:540px;gap:4px}
.kpv .kpv-head{min-height:36px;padding:0 12px}
.kpv .kpv-head h1{font-size:22px!important}
.kpv .kpv-head a{font-size:12px!important}
.kpv .kpv-ledger{background-size:112% 100%;background-position:right center;border-radius:5px}
.kpv .kpv-paper{left:12%;right:4%;top:4%;bottom:5%}
.kpv .kpv-tabs{grid-template-columns:1fr 1fr 1fr;gap:3px}
.kpv .kpv-tabs button{font-size:13px!important;padding:5px 4px;min-height:44px;text-align:center}
.kpv .kpv-category{font-size:21px!important;margin-top:10px!important}
.kpv .kpv-guide{font-size:14px!important}
.kpv .kpv-service span:first-child{font-size:18px!important}
.kpv .kpv-back{font-size:14px!important}
.kpv .kpv-foot{padding:0 10px}
}
