/*
Theme Name: Am Holzteich
Theme URI: https://holzteich.de/
Author: Holzteich
Description: Eigenständiges Ferienwohnungs-Theme mit WP Booking System Integration.
Version: 1.2.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: am-holzteich
License: GPL-2.0-or-later
*/

:root{--ink:#183f43;--muted:#596c6a;--paper:#f7f5ef;--white:#fff;--line:#dedfd7;--accent:#b96b41}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 Arial,sans-serif}button,input,select{font:inherit}a{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #cf7540;outline-offset:4px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15;margin:0}h2{font-size:clamp(32px,4vw,48px)}p{margin:0 0 16px}.wrap{max-width:1200px;margin:auto;padding:0 40px}.reviewbar{background:#183f43;color:#fff;padding:10px 20px;text-align:center;font-size:13px}.reviewbar a{margin-left:16px;text-underline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:10;background:white;padding:12px}header{background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:88px;gap:28px}.logo{text-decoration:none;line-height:1.1;white-space:nowrap}.logo strong{display:block;font:28px Georgia,serif;letter-spacing:-1px}.logo small{font-size:10px;letter-spacing:3px;text-transform:uppercase}.links{display:flex;gap:28px;align-items:center}.links a{text-decoration:none;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;border:1px solid var(--ink);padding:13px 22px;text-decoration:none;border-radius:3px;font-weight:600;font-size:14px}.button.light{background:#fff;color:var(--ink);border-color:white}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:510px}.herocopy{padding:70px 50px 54px max(40px,calc((100vw - 1120px)/2));background:var(--ink);color:white}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;text-transform:uppercase}.hero .eyebrow{color:#d7c7a9}.hero h1{font-size:clamp(44px,5vw,68px);margin:22px 0 24px;letter-spacing:-2px;max-width:600px}.hero p{max-width:420px;color:#e1e9e7;font-size:17px}.hero img{width:100%;height:100%;max-height:600px;object-fit:cover}.hero .button{margin-top:14px}.trust{border-bottom:1px solid var(--line)}.trust .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:22px;font-size:13px}.trust span:before{content:'✓';color:var(--accent);margin-right:10px;font-weight:bold}.section{padding-top:68px;padding-bottom:68px}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:28px}.sectionhead p{max-width:390px;font-size:15px;color:var(--muted);margin:0}.sectionhead .eyebrow{display:block;color:var(--accent);margin-bottom:13px}.filters{display:flex;gap:20px;align-items:end;background:#efede5;padding:18px 22px;border:1px solid var(--line);margin-bottom:30px;border-radius:4px}.filters label{font-size:13px}.filters select{display:block;margin-top:4px;min-width:155px;padding:9px 12px;border:1px solid #aebbb6;background:white;color:var(--ink);border-radius:3px}.filters .check{display:flex;gap:8px;align-items:center;padding:10px 0}.filters p{margin:0 0 8px auto;color:var(--muted);font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:5px;overflow:hidden}.card[hidden]{display:none}.card img{display:block;width:100%;height:230px;object-fit:cover}.cardbody{padding:24px}.card .eyebrow{font-size:9px;letter-spacing:1.4px;color:var(--muted)}.card h3{font-size:26px;margin:10px 0 14px}.facts{font-size:13px;margin-bottom:8px}.facts span{margin:0 6px}.pet{font-size:12px;color:var(--muted)}.cardbottom{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:8px}.cardbottom p{font-size:13px;margin:0}.cardbottom strong{font-size:24px;font-weight:400}.cardbottom small{display:block;color:var(--muted);font-size:11px}.detail{border:0;background:transparent;color:var(--ink);font-size:12px;padding:12px 0;font-weight:bold}.detail span{margin-left:8px}.footnote{margin:22px 0 0;font-size:12px;color:var(--muted)}.stay{background:#ebe9df}.staygrid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.stay h2{margin:12px 0 22px}.stay p{color:var(--muted);max-width:440px}.amenities{display:grid;grid-template-columns:1fr 1fr;gap:25px}.amenities div{border-top:1px solid #c3ccc2;padding-top:15px}.amenities strong{display:block;font-size:15px;margin-bottom:6px}.amenities span{font-size:13px;color:var(--muted)}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.faq h2{margin:12px 0 20px}.faq details{border-bottom:1px solid var(--line);padding:18px 0}.faq summary{cursor:pointer;font-size:16px}.faq details p{margin:15px 0 0;font-size:14px;color:var(--muted)}.contact{background:var(--ink);color:#fff;padding:40px;border-radius:4px;display:flex;justify-content:space-between;align-items:center;gap:30px}.contact h2{font-size:34px;margin-bottom:14px}.contact p{color:#d7e3df;font-size:14px;margin:0}.contact a{text-underline-offset:5px}footer{padding:28px 0;font-size:12px;color:var(--muted)}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer a{margin-left:18px}.audit{border-top:6px solid var(--accent);background:#fff}.audit h2{margin:12px 0 25px}.audit h3{font-size:25px;margin:35px 0 18px}.audit .intro{font-size:17px;max-width:850px}.audit table{border-collapse:collapse;width:100%;font-size:13px}.audit th{text-align:left;background:#edf1ee}.audit th,.audit td{border-bottom:1px solid var(--line);padding:12px 10px;vertical-align:top}.tablewrap{overflow:auto}.priority{display:inline-block;font:11px Arial,sans-serif;border:1px solid #dbcab5;background:#faf3e8;padding:4px 8px;margin-right:8px;border-radius:2px}.audit li{margin-bottom:12px}.audit .box{background:#f5f4ee;border-left:4px solid var(--accent);padding:20px;margin:24px 0}.audit .box p:last-child{margin:0}.audit .sources{font-size:12px;overflow-wrap:anywhere}.audit code{background:#edf1ee;padding:2px 5px}dialog{color:var(--ink);border:1px solid var(--line);border-radius:6px;max-width:740px;width:calc(100% - 32px);padding:0;max-height:90vh}dialog::backdrop{background:#0b252cbb}dialog .dialogbody{padding:32px}dialog h2{font-size:34px;margin:12px 0 15px}dialog img{width:100%;height:260px;object-fit:cover;display:block}.close{position:absolute;right:12px;top:12px;background:white;border:1px solid var(--line);width:40px;height:40px;border-radius:50%;font-size:22px}.dialogbody .note{font-size:13px;color:var(--muted)}.dialogbody ul{padding-left:20px;font-size:14px}.dialogbody .button{margin-top:12px}#empty{padding:25px;background:white;border:1px solid var(--line)}
@media(max-width:950px){.wrap{padding-left:24px;padding-right:24px}.links{gap:15px}.hero h1{font-size:52px}.herocopy{padding:50px 28px}.grid{grid-template-columns:1fr 1fr}.trust .wrap{flex-wrap:wrap;justify-content:center}.staygrid,.faq{gap:30px}.sectionhead{align-items:start;flex-direction:column}}
@media(max-width:600px){.nav{min-height:76px;gap:10px}.logo strong{font-size:24px}.logo small{font-size:8px}.links a:not(.button){display:none}.links .button{font-size:12px;padding:10px 12px}.reviewbar{font-size:11px}.hero{grid-template-columns:1fr}.herocopy{padding:40px 24px}.hero h1{font-size:46px}.hero img{height:260px}.trust .wrap{gap:8px 18px;font-size:12px}.section{padding-top:44px;padding-bottom:44px}.grid,.staygrid,.faq{grid-template-columns:1fr}.filters{flex-wrap:wrap;gap:10px;padding:15px}.filters p{width:100%;margin:0}.card img{height:220px}.amenities{gap:20px}.contact{padding:26px;flex-direction:column;align-items:start}.contact h2{font-size:30px}footer .wrap{flex-direction:column}footer a{margin-left:0;margin-right:18px}.audit th,.audit td{padding:9px;min-width:90px}.audit th:nth-child(2){min-width:190px}dialog .dialogbody{padding:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.admin-bar header{top:32px}.cardbottom a.detail{text-decoration:none}.pagehead{padding:55px 0 35px}.pagehead h1{font-size:clamp(38px,5vw,60px);margin:16px 0}.apartment-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:45px}.apartment-photo{width:100%;height:430px;object-fit:cover;border-radius:4px}.booking-box{border:1px solid var(--line);background:#fff;padding:28px;border-radius:5px;margin-top:36px}.booking-box h2{font-size:32px;margin-bottom:18px}.wpbs-container{max-width:100%}.wpbs-form-field input:not([type=checkbox]):not([type=radio]),.wpbs-form-field select,.wpbs-form-field textarea{max-width:100%;border:1px solid #9cacaa;border-radius:3px;padding:10px}.wpbs-form-submit-button button,.wpbs-form-submit-button input{background:var(--ink);color:white;border-radius:3px}.page-content{max-width:850px}.page-content h2,.page-content h3{margin:30px 0 18px}.page-content a{text-underline-offset:4px}.booking-note{font-size:13px;color:var(--muted)}.search-box{border:1px solid var(--line);background:#fff;padding:24px;margin-bottom:30px}.search-box h3{font-size:26px;margin-bottom:16px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.gallery img{width:100%;height:170px;object-fit:cover;border-radius:3px}.menu-toggle{display:none}.custom-logo{max-width:180px;max-height:60px;width:auto;height:auto}.screen-reader-text{position:absolute;left:-9999px}.screen-reader-text:focus{left:10px;background:white;padding:10px}.links .button{color:white}.httest{font-size:12px;padding:9px 20px;background:#f5dfb8;text-align:center;color:#3d3322}.ht-price{font-size:28px}.wpbs-main-wrapper{overflow:visible}.pagination{margin-top:30px}
@media(max-width:782px){body.admin-bar header{top:46px}.apartment-layout{grid-template-columns:1fr}.apartment-photo{height:350px}}
@media(max-width:600px){.booking-box{padding:16px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:145px}.menu-toggle{display:block;background:transparent;border:1px solid var(--line);padding:6px 10px;color:var(--ink)}.links{flex-wrap:wrap}.links.open a:not(.button){display:block}.links.open{position:absolute;left:0;right:0;top:76px;background:var(--paper);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.links.open .button{display:none}.links{gap:10px}.nav{gap:10px}.logo{margin-right:auto}.pagehead{padding-top:35px}.apartment-photo{height:280px}.booking-note{font-size:12px}}

.ht-lightbox{width:min(1060px,94vw);max-width:94vw;padding:24px;background:#152f33;color:white;border:0;max-height:94vh}.ht-lightbox figure{margin:0}.ht-lightbox .ht-lightbox-image{width:100%;height:min(68vh,720px);object-fit:contain;display:block}.ht-lightbox-close{position:absolute;right:12px;top:10px;background:#fff;color:#183f43;border:0;width:40px;height:40px;font-size:28px;border-radius:50%;z-index:1}.ht-lightbox-caption{text-align:center;margin-top:12px;font-size:14px}.ht-lightbox-controls{display:flex;justify-content:center;gap:20px;margin-top:14px}.ht-lightbox-controls button{border:1px solid #92aaa7;background:transparent;color:white;width:52px;padding:8px}.ht-cover-link{display:block}.gallery a{display:block}.gallery figure{margin:0}.gallery figcaption{font-size:12px;margin-top:5px}.gallery a:focus-visible{outline:3px solid var(--accent)}.ht-lightbox[open]{display:block}.ht-lightbox:not([open]){display:none}.custom-logo-link{display:block;margin-right:auto}.ht-search-hint{font-size:13px;color:var(--muted);margin:10px 0 0}@media(max-width:600px){.ht-lightbox{padding:16px}.ht-lightbox .ht-lightbox-image{height:60vh}}

/* Native WordPress menu, for both classic and block content pages. */
.links .ht-menu{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}.ht-menu li{position:relative}.ht-menu .sub-menu{position:absolute;top:100%;left:0;min-width:230px;background:var(--paper);border:1px solid var(--line);padding:12px;list-style:none;display:none;z-index:6}.ht-menu li:hover>.sub-menu,.ht-menu li:focus-within>.sub-menu{display:block}.ht-menu .sub-menu li{margin:8px 0}.ht-menu .current-menu-item>a{text-decoration:underline;text-underline-offset:6px}.ht-standard-content{margin-top:25px}.ht-standard-content img{max-width:100%;height:auto}
@media(max-width:950px){.links .ht-menu{gap:15px}}
@media(max-width:600px){.links.open .ht-menu{flex-direction:column;align-items:stretch;gap:16px;width:100%}.links.open .ht-menu .sub-menu{display:block;position:static;min-width:0;border:0;padding:8px 0 0 15px}.links.open .ht-menu a{display:block}}
