/* Ferienwohnung-Netz mobile usability, 2026-09-09. */
.fn-mobile-links, .fn-mobile-toc, .fn-mobile-more { display:none; }
@media (max-width:820px) {
  #header_lp .header_wr { position:relative; min-height:64px; }
  #header_lp .header_pad { min-height:64px; padding-left:0; }
  #header_lp .header_logo, #header_lp .header_logo_nl { background:#fff; }
  #header_lp .logo_lp { height:64px; width:190px; }
  #header_lp .logo { top:10px; left:10px; margin:0; width:180px; height:44px; background-size:180px; background-repeat:no-repeat; background-position:center; }
  #header_lp .open_menu { top:8px; right:12px; width:48px; height:48px; background-position:center top; }
  #header_lp .open_menu[aria-expanded="true"] { background-image:none; }
  #header_lp .open_menu[aria-expanded="true"]::after { content:'×'; font-size:32px; color:#fff; }
  #header_lp .header_right_l { position:static; float:none; width:auto; margin:0; }
  #header_lp .header_right { position:absolute; top:8px; right:66px; }
  #header_lp .for_search { float:none; width:48px; height:48px; margin:0; background:none; position:relative; }
  #header_lp .for_search::before { content:''; position:absolute; width:14px; height:14px; border:2px solid #16465b; border-radius:50%; left:13px; top:12px; }
  #header_lp .for_search::after { content:''; position:absolute; width:10px; height:2px; background:#16465b; transform:rotate(45deg); left:27px; top:29px; }
  #header_lp .header_bottom { top:64px; left:12px; right:12px; width:auto; margin:0; box-shadow:0 8px 20px #0002; max-height:75vh; overflow:auto; }
  #header_lp #topmenu li a { display:flex; align-items:center; box-sizing:border-box; min-height:48px; padding:10px 14px; line-height:1.4; }
  #header_lp #lang { float:none; margin:0; padding:8px 14px; }
  #header_lp #lang .link2 { float:none; display:flex; align-items:center; min-height:48px; }
  #header_lp .lang_sub { position:static; border:0; }
  #header_lp .lang_sub a { min-height:44px; display:flex; align-items:center; box-sizing:border-box; }
  #header_lp .header_pad .search { box-sizing:border-box; float:none; width:100%; margin:0; padding:64px 12px 12px; }
  #header_lp .header_pad .search input { box-sizing:border-box; width:100%; height:48px; font-size:16px; padding:10px; float:none; border:1px solid #7398a8; border-radius:6px; }
  #header_lp .header_picture { min-height:0; height:auto; padding:0; background:none; }
  #header_lp .header_block { background:#fff; }
  #header_lp .search_boxes_wrapper_lp { position:relative; top:auto !important; left:auto; right:auto; box-sizing:border-box; width:100%; padding:8px 12px 12px; background:#edf6fa; }
  #header_lp #maxtdBookingSearch { padding:0; margin:0; }
  #header_lp #maxtdBookingDestination { box-sizing:border-box; min-height:48px; padding:10px; }
  #header_lp .maxtd-booking-field { min-width:0; border-radius:6px; }
  #header_lp .maxtd-booking-submit { min-height:48px; font-size:18px; border-radius:6px; }
  main h1 { font-size:29px; line-height:1.15; margin:12px 0 16px; }
  main h2 { font-size:23px; line-height:1.25; }
  main h3 { font-size:20px; line-height:1.3; }
  main .white.padding { padding:12px 16px; }
  main p { line-height:1.55; }
  main #ie_img_blck, main #ie_img_blck .image_block { float:none; width:100%; max-width:100%; margin:0 0 12px; }
  main #ie_img_blck .image_block img { display:block; width:100%; max-width:100%; height:180px; object-fit:cover; }
  main #ie_img_blck .im_desc { font-size:13px; line-height:1.4; display:block; margin-top:6px; }
  main .box .content td { height:auto !important; }
  main .box { width:100%; float:none; margin:0 0 16px; }
  main .box .title strong { line-height:1.4 !important; padding:12px; }
  main .box .content img { max-width:100%; height:auto; }
  .fn-mobile-links { display:block; margin:0 0 18px; padding:12px; background:#edf6fa; border-radius:8px; }
  .fn-mobile-links strong { display:block; font-size:17px; margin-bottom:8px; }
  .fn-mobile-links div { display:flex; flex-wrap:wrap; gap:8px; }
  .fn-mobile-links a { display:flex; align-items:center; min-height:44px; padding:0 12px; background:white; border:1px solid #9dc6d7; border-radius:6px; color:#14526d; text-decoration:none; }
  .fn-mobile-toc { display:block; margin:0 0 16px; border:1px solid #c9dde5; border-radius:6px; padding:0 12px; }
  .fn-mobile-toc summary { cursor:pointer; padding:14px 0; font-weight:bold; }
  .fn-mobile-toc a { display:block; padding:12px 0; line-height:1.4; }
  .fn-mobile-extra { display:none; }
  .fn-mobile-expanded .fn-mobile-extra { display:block; }
  .fn-mobile-more { display:block; width:calc(100% - 32px); margin:16px; padding:14px; min-height:48px; border:1px solid #1681ae; border-radius:6px; background:#fff; color:#14526d; font-size:16px; cursor:pointer; }
  a:focus-visible, button:focus-visible, summary:focus-visible { outline:3px solid #14526d; outline-offset:3px; }
}
/* The same fixed-height overlap also affects the desktop booking form. */
@media (min-width:821px) {
  #header_lp .header_picture:has(#maxtdBookingSearch) { padding:18px 0; box-sizing:border-box; }
  #header_lp .search_boxes_wrapper_lp:has(#maxtdBookingSearch) { position:relative; top:auto !important; left:auto; right:auto; margin:0 5px 0 auto; max-width:calc(100% - 10px); }
}
