/* Ferienhaus Andrea – original Start Bootstrap Clean Blog 6.0.9 theme refinements.
   Bootstrap 5.2.3 and the Clean Blog theme are embedded in styles.css locally.
   No remotely loaded fonts, icon packs, JS or CSS. */
:root { --bs-body-font-family: Georgia, 'Times New Roman', serif; --bs-btn-font-family: system-ui,-apple-system,'Segoe UI',Arial,sans-serif; --bs-primary: #237489; --bs-link-color: #17637c; --bs-link-hover-color: #0f4c60; }
body { font-family: Georgia, 'Times New Roman', serif; font-size: 1.17rem; color: #30343a; line-height: 1.7; }
h1,h2,h3,h4,.navbar,.btn,.footer-copy,.gallery-grid figcaption,.form-label {font-family: system-ui,-apple-system,'Segoe UI',Arial,sans-serif;}
a { color: #17637c; text-underline-offset: .14em; }
a:hover { color: #0d4d63; }
.skip-link { position:absolute; top:-70px; left:12px; z-index:3000; background:white;color:#12465a; padding:.4rem .9rem; }
.skip-link:focus { top:8px; }
#mainNav .navbar-brand { font-size:1.05rem; letter-spacing:-.015em; white-space:normal; }
#mainNav .navbar-nav .nav-link {text-decoration:none; }
#mainNav .navbar-nav .nav-link.active {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.32rem;}
#mainNav .navbar-toggler {display:flex;align-items:center;gap:.35rem; border:1px solid #b7c0c5;border-radius:.25rem; }
@media(min-width:992px){#mainNav .navbar-toggler{display:none}}
#mainNav .menu-icon{font-size:1rem;line-height:1}
header.masthead {margin-bottom:3.2rem; background-position:center; }
header.masthead:before {opacity:.40;}
header.masthead .page-heading h1, header.masthead .site-heading h1 {text-shadow:0 2px 10px rgba(0,0,0,.24);}
header.masthead .site-heading .subheading {font-size:1.12rem;line-height:1.4;margin-top:1.3rem;}
header.masthead .page-heading h1 {font-size:clamp(2.6rem,6vw,4.4rem);}
header.page-masthead{ padding-top:calc(8.3rem + 55px);padding-bottom:7.5rem;}
header.home-masthead{ padding-top:calc(9.4rem + 55px);padding-bottom:9rem;}
.content-text {padding-bottom:2.5rem; overflow-wrap:anywhere;}
.content-text h2 {font-size:clamp(1.55rem,2.6vw,2.1rem);margin:2.3rem 0 1.25rem;line-height:1.3;color:#252c30;}
.content-text h3 {font-size:1.3rem;margin-top:2rem;}
.content-text > p:first-child,.content-text > h2:first-child {margin-top:0;}
.content-text p {margin:1.15rem 0 1.55rem;}
.content-text ul {margin:1.2rem 0; padding-left:1.6rem;}
.content-text li {margin:.35rem 0;}
.article-image {max-width:100%;height:auto;display:block;margin:1.6rem auto 2rem;}
.content-text hr {margin:2.4rem 0;border-color:#d5dadd;}
.guest-voices {padding-top:.5rem;}
.guest-voices h2 {font-size:1.6rem;}
.guest-voices blockquote {font-size:1.1rem; line-height:1.72; border-left:3px solid #bcc9cd; padding:0 0 0 1.2rem; color:#5c636a;}
.guest-voices hr {margin:2rem 0;}
.page-cta {margin:2.4rem 0!important;text-align:center;}
.btn-primary { background:#247a8c; border-color:#247a8c; color:#fff; border-radius:0; text-transform:uppercase; font-size:.83rem; font-weight:700; padding:.9rem 1.2rem; }
.btn-primary:hover,.btn-primary:focus {background:#1b596d;border-color:#1b596d;color:#fff;}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{ outline:3px solid #e2a254; outline-offset:3px; }
footer {padding:2.4rem 0 3rem;}
.footer-copy {text-align:center;color:#636d70;font-size:.84rem;line-height:1.8;margin:0;}
.footer-copy a{color:inherit;}
.price-note {font-size:.94rem;background:#f3f6f7;border-left:4px solid #b2c9cc;padding:1rem 1.25rem;}
/* gallery */
.page-galerie .content-text {width:100%;max-width:1080px;flex:0 0 auto;}
.gallery-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem; padding:1.1rem 0 2rem;}
.gallery-grid a { display:block;text-decoration:none;color:#334148;}
.gallery-grid figure {margin:0;}
.gallery-thumb {width:100%;height:225px;object-fit:cover;display:block;transition:filter .18s;}
.gallery-grid a:hover img {filter:brightness(.90)}
.gallery-grid figcaption{font-size:.84rem;line-height:1.4;margin-top:.5rem;}
.lightbox{border:0;background:#15191b;color:#fff;max-width:calc(100vw - 2rem);width:min(1100px,100vw - 2rem);max-height:calc(100dvh - 1.5rem);padding:.75rem 1rem 1rem;text-align:center;overflow-y:auto;}
.lightbox::backdrop{background:rgba(0,0,0,.87)}
.lightbox img{max-width:100%;max-height:calc(100dvh - 9rem);height:auto;object-fit:contain;margin:0 auto;display:block;}
.lightbox-controls {display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin-bottom:.55rem;}
.lightbox button{background:transparent;border:1px solid #9ea4a8;color:white;border-radius:2px;padding:.1rem .6rem;cursor:pointer;font-size:1.2rem;}
.lightbox button:hover {background:#3a4145;}
.lightbox #lbCount{font:normal .9rem system-ui,sans-serif;min-width:4rem;}
.lightbox p{font-size:.9rem;margin:.75rem auto .1rem;font-family:system-ui,sans-serif;}
/* booking and contact forms */
.request-form{border-top:1px solid #e0e4e5;border-bottom:1px solid #e0e4e5;padding:1.7rem 0 2rem;margin:2.2rem 0;}
.request-form .form-label {font-size:.87rem;font-weight:700;margin-bottom:.4rem;}
.request-form .form-control,.request-form .form-select {font-family:system-ui,sans-serif;font-size:1rem;border:1px solid #aebbc0;border-radius:3px;padding:.76rem .85rem;}
.request-form .form-control:focus,.request-form .form-select:focus {box-shadow:0 0 0 .22rem rgba(31,112,135,.17);border-color:#267a91;}
.request-form textarea {min-height:130px;}
.privacy-note {font:normal .88rem/1.6 system-ui,sans-serif;color:#5d6265;}
.form-hint{font-size:.85rem;}
.bot-field {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
@media(max-width:991px){
  #mainNav { background:#fff; }
  #mainNav .navbar-brand{color:#20272b;max-width:70%;font-size:.95rem;}
  #mainNav .navbar-toggler{font-family:system-ui,sans-serif;}
  #mainNav #navbarResponsive.show {display:block !important;}
  #mainNav #navbarResponsive .navbar-nav {padding-top:.35rem!important;padding-bottom:.5rem!important;}
  #mainNav #navbarResponsive a.nav-link {color:#2a353c;font-size:.85rem;padding:.65rem .3rem!important;}
  header.home-masthead {padding-top:calc(6.7rem + 55px);padding-bottom:6.5rem;}
  header.page-masthead {padding-top:calc(6rem + 55px);padding-bottom:5.8rem;}
  header.masthead .site-heading .subheading {font-size:1.05rem;}
}
@media(max-width:650px){
 body{font-size:1.05rem;}
 header.masthead .site-heading h1 {font-size:clamp(2.2rem,9vw,3.1rem);}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
 .gallery-thumb{height:140px;}
 .footer-copy{font-size:.75rem;}
}
@media(max-width:380px){.gallery-grid{grid-template-columns:1fr}.gallery-thumb{height:220px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* V0.3.1 – original Clean Blog navigation over the hero image */
@media(min-width:992px){
 #mainNav{background:transparent;border-bottom:1px solid transparent;box-shadow:none;}
 #mainNav .navbar-brand,#mainNav .navbar-nav>li.nav-item>a.nav-link{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4);}
 #mainNav .navbar-brand:hover,#mainNav .navbar-nav>li.nav-item>a.nav-link:hover,#mainNav .navbar-nav>li.nav-item>a.nav-link:focus{color:rgba(255,255,255,.82);}
 #mainNav .navbar-nav>li.nav-item>a.nav-link.active{color:#fff;}
 #mainNav.is-fixed{background:rgba(255,255,255,.97);border-bottom:1px solid #e0e3e5;box-shadow:0 1px 5px rgba(0,0,0,.08);}
 #mainNav.is-fixed .navbar-brand,#mainNav.is-fixed .navbar-nav>li.nav-item>a.nav-link{color:#273039;text-shadow:none;}
 #mainNav.is-fixed .navbar-brand:hover,#mainNav.is-fixed .navbar-nav>li.nav-item>a.nav-link:hover,#mainNav.is-fixed .navbar-nav>li.nav-item>a.nav-link:focus{color:#17637c;}
 #mainNav.is-fixed .navbar-nav>li.nav-item>a.nav-link.active{color:#17637c;}
}
