/* Home header: a single row when space permits, an accessible menu otherwise. */
header.home-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:12px 3%;height:auto;min-height:108px}
.home-header .brand{width:190px;height:109px;flex:0 0 190px}
.home-header .contact-actions{width:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin-left:auto}
.home-header nav{order:4;flex:1 0 100%;width:100%;flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:12px 0 0}
.home-header nav>a{font-size:16px;min-height:48px;padding:12px}
.home-header .navigation-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 18px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 var(--gold);font:600 16px/1.4 'DM Sans',Arial,sans-serif;cursor:pointer}
.home-header .navigation-toggle-label{display:inline;color:inherit;font:inherit;line-height:inherit;opacity:1;visibility:visible}
.home-header .navigation-toggle-icon{display:block;flex:0 0 24px;color:inherit}
.home-header .navigation-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.home-header .navigation-toggle[hidden]{display:none}
.home-header.menu-ready nav:not(.is-open){display:none!important}
@media(min-width:1600px){
 header.home-header{flex-wrap:nowrap;gap:16px;padding-left:2%;padding-right:2%}
 .home-header .brand{width:190px;flex-basis:190px}
 .home-header nav,.home-header.menu-ready nav:not(.is-open){display:flex!important;order:initial;flex:1 1 auto;width:auto;flex-wrap:nowrap;justify-content:center;padding:0;gap:8px}
 .home-header nav>a{flex:1 0 auto;font-size:17px;height:64px;min-height:64px;padding:14px 10px;white-space:nowrap}
 .home-header .navigation-toggle{display:none}
 .home-header .contact-actions{margin-left:0;flex-shrink:0;gap:8px}
 .home-header .reservation-button{height:64px;min-height:64px;font-size:16px;padding:14px 16px;gap:8px}
 .home-header .call-button{height:64px;min-height:64px;padding:10px 14px}
 .home-header .header-socials{gap:6px}
}
@media(max-width:760px){
 header.home-header{gap:12px;padding:10px 5% 16px}
 .home-header .brand{width:170px;height:98px;flex-basis:170px}
 .home-header .navigation-toggle{margin-left:auto}
 .home-header .contact-actions{display:grid;width:100%;grid-template-columns:1fr 1fr;gap:10px;margin:0}
 .home-header .header-socials{grid-column:1 / -1;justify-content:flex-end}
 .home-header nav{padding-top:4px;display:grid!important;grid-template-columns:1fr 1fr}
 .home-header nav>a{white-space:normal;text-align:center;font-size:15px;padding:12px 8px}
 .home-header.menu-ready nav:not(.is-open){display:none!important}
}
@media(max-width:360px){.home-header .brand{width:145px;height:84px;flex-basis:145px}.home-header .navigation-toggle{padding:10px;font-size:15px}}

/* Use the available navigation width on large desktop screens. */
@media(min-width:1800px){.home-header nav>a{font-size:20px;padding:14px 16px}.home-header nav{gap:9px}}

/* Match both contact buttons and retain each network's supplied brand artwork. */
.home-header .contact-actions .call-button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:8px;box-shadow:0 3px 0 #bf9c65;font-size:16px;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s}
.home-header .contact-actions .call-button small{color:inherit}
.home-header .contact-actions .call-button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.home-header .contact-actions .call-button:active{transform:translateY(1px);box-shadow:0 1px 0 #bf9c65}
.home-header .header-socials .social-icon{background:transparent;border-color:transparent}
.home-header .header-socials .social-icon img{display:block;width:32px;height:32px;object-fit:contain}
@media(hover:hover) and (pointer:fine){
 .home-header .contact-actions .call-button:hover{background:var(--deep);transform:translateY(-1px);box-shadow:0 4px 0 #bf9c65}
 .home-header .header-socials .social-icon:hover{background:transparent;border-color:#163b3240}
}

/* Content pages keep their footer when using the shared header. */
@media screen{body[data-shared-header] footer{display:flex}}

/* Contact details and hours remain readable without changing the contact columns. */
#kontakt{scroll-margin-top:24px}
.contact-hours{padding:24px 0 28px;border-bottom:1px solid #163b3226}
.contact-hours h3{font-family:inherit;font-size:20px;font-weight:600;margin:0 0 18px}
.contact-hours dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.contact-hours dl>div{display:flex;flex-direction:column;gap:8px}
.contact-hours dt{font-size:16px}
.contact-hours dd{font-size:22px;font-weight:600;margin:0;color:#f6f2e9}
@media(max-width:760px){.contact-hours dl{grid-template-columns:1fr;gap:16px}.contact-hours dl>div{flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px}.contact-hours dd{font-size:18px;white-space:nowrap}}

/* Compact homepage desktop controls fit in one row without widening the page. */
@media(min-width:1600px){
 body.bicko-home-page header.home-header{display:flex;flex-wrap:nowrap;gap:10px;padding-left:2%;padding-right:2%}
 body.bicko-home-page .home-header .brand{width:170px;height:98px;flex:0 0 170px}
 body.bicko-home-page .home-header nav{min-width:0;flex:1 1 auto;gap:5px;flex-wrap:nowrap}
 body.bicko-home-page .home-header nav>a{flex:1 1 auto;font-size:15px;padding:10px 7px;height:54px;min-height:54px;white-space:nowrap}
 body.bicko-home-page .home-header .contact-actions{flex:0 0 auto;width:auto;gap:6px;flex-wrap:nowrap;margin:0}
 body.bicko-home-page .home-header .reservation-button{font-size:14px;padding:10px;gap:6px;height:54px;min-height:54px}
 body.bicko-home-page .home-header .call-button{font-size:14px;padding:8px 10px;height:54px;min-height:54px}
 body.bicko-home-page .home-header .header-socials{gap:3px}
 body.bicko-home-page .home-header .header-socials .social-icon{width:34px;height:40px;flex:0 0 34px}
 body.bicko-home-page .home-header .header-socials .social-icon img{width:28px;height:28px}
}

/* Compact gallery desktop controls fit in one row without widening the page. */
@media(min-width:1600px){
 body.bicko-gallery-page header.home-header{display:flex;flex-wrap:nowrap;gap:10px;padding-left:2%;padding-right:2%}
 body.bicko-gallery-page .home-header .brand{width:170px;height:98px;flex:0 0 170px}
 body.bicko-gallery-page .home-header nav{min-width:0;flex:1 1 auto;gap:5px;flex-wrap:nowrap}
 body.bicko-gallery-page .home-header nav>a{flex:1 1 auto;font-size:15px;padding:10px 7px;height:54px;min-height:54px;white-space:nowrap}
 body.bicko-gallery-page .home-header .contact-actions{flex:0 0 auto;width:auto;gap:6px;flex-wrap:nowrap;margin:0}
 body.bicko-gallery-page .home-header .reservation-button{font-size:14px;padding:10px;gap:6px;height:54px;min-height:54px}
 body.bicko-gallery-page .home-header .call-button{font-size:14px;padding:8px 10px;height:54px;min-height:54px}
 body.bicko-gallery-page .home-header .header-socials{gap:3px}
 body.bicko-gallery-page .home-header .header-socials .social-icon{width:34px;height:40px;flex:0 0 34px}
 body.bicko-gallery-page .home-header .header-socials .social-icon img{width:28px;height:28px}
}

body.bicko-gallery-page main.album-page{width:100%;min-width:0;margin-inline:auto}

/* Four navigation links have room for consistent spacing. */
.home-header nav{gap:12px}
@media(min-width:1600px){
 header.home-header,body.bicko-home-page header.home-header,body.bicko-gallery-page header.home-header{gap:24px}
 .home-header nav,body.bicko-home-page .home-header nav,body.bicko-gallery-page .home-header nav{gap:16px}
 .home-header .contact-actions,body.bicko-home-page .home-header .contact-actions,body.bicko-gallery-page .home-header .contact-actions{gap:12px}
}

.home-header .header-socials,body.bicko-home-page .home-header .header-socials,body.bicko-gallery-page .home-header .header-socials{gap:14px}

/* Homepage sections and header share the language control's outer edges. */
body.bicko-home-page{--home-frame-inset:3%}
body.bicko-home-page>main,body.bicko-home-page header.home-header{width:calc(100% - 2 * var(--home-frame-inset));margin-inline:auto}
body.bicko-home-page header.home-header{padding-left:0;padding-right:0}
@media(min-width:1600px){body.bicko-home-page{--home-frame-inset:2%}}
@media(max-width:760px){body.bicko-home-page{--home-frame-inset:5%}}

/* Keep the news label compact and leave breathing room after directions. */
@media(min-width:1600px){
 .home-header .contact-actions,body.bicko-home-page .home-header .contact-actions,body.bicko-gallery-page .home-header .contact-actions{margin-right:28px}
}

/* Four equal navigation buttons, independent of label length. */
.home-header nav>a,body.bicko-home-page .home-header nav>a,body.bicko-gallery-page .home-header nav>a{flex:1 1 0;min-width:0;height:54px;min-height:54px;padding:10px;display:flex;align-items:center;justify-content:center;text-align:center}
.home-header nav.is-open{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:1600px){
 body .home-header nav,body .home-header.menu-ready nav:not(.is-open){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){.home-header nav.is-open{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Balance 24px/12px gaps to 18px/18px without resizing any buttons. */
@media(min-width:1600px){.home-header .contact-actions>.header-socials{transform:translateX(-6px)}}
