/* Mobile concept 03. Desktop and tablet header retain their existing layout. */
.mobile-call,.mobile-dock{display:none}
#mobile-menu{padding:24px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:28px;width:calc(100% - 24px);max-width:520px;max-height:calc(100dvh - 48px);overflow:auto;margin:auto auto max(12px,env(safe-area-inset-bottom));box-shadow:0 18px 80px #0004}
#mobile-menu::backdrop{background:rgba(15,20,22,.35);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.mobile-sheet-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.mobile-sheet-heading h2{font-size:20px;margin:0;letter-spacing:-.03em}
.mobile-sheet-close,.mobile-theme{border:1px solid var(--line);background:var(--pale);color:var(--ink);border-radius:22px;min-height:44px;padding:10px 14px;font-size:13px}
.mobile-sheet-links{display:grid;gap:2px}
.mobile-sheet-links>a{padding:13px 4px;border-bottom:1px solid var(--line);font-size:20px;line-height:1.25}
.mobile-sheet-links>a[aria-current=page]{color:var(--blue)}
.mobile-sheet-links .header-rating{display:flex;gap:12px;align-items:center;font-size:13px;padding-block:16px}
.mobile-sheet-contact{display:grid;gap:8px;padding:20px 0}
.mobile-sheet-contact>a:first-child{font-size:22px;letter-spacing:-.03em}
.mobile-sheet-contact>a:last-child{font-size:12px;color:var(--muted);max-width:270px}
.mobile-sheet-tools{display:flex;align-items:center;justify-content:space-between;gap:12px}
.mobile-sheet-tools>a{display:flex;align-items:center;gap:9px;min-height:44px;font-size:13px}
.mobile-sheet-tools svg{width:22px;height:22px}
@media(max-width:680px){
 html{scroll-padding-top:20px}
 body{padding-bottom:calc(90px + env(safe-area-inset-bottom))}
 .header.header,[data-theme=dark] .header.header{position:relative;top:auto;width:calc(100% - 36px);margin:12px auto 0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 .header .header-inner{width:100%;min-height:68px;padding:0;display:grid;grid-template-columns:1fr auto;gap:0 12px}
 .header .brand img{width:142px;height:60px}
 .header .header-actions,.header .header-contact,.header #nav{display:none}
 .header .mobile-call{display:flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.6);border:1px solid #ffffffb3;box-shadow:inset 0 1px 1px #fff,0 4px 12px #18212615}
 .header .header-rating-mobile{grid-column:1/-1;grid-row:2;justify-content:flex-start;border:0;gap:8px;padding:5px 0 0;min-height:30px}
 .header-rating-mobile .header-rating-top strong{font-size:12px}.header-rating-mobile .header-rating-stars{font-size:11px}.header-rating-mobile .header-rating-label{font-size:10px}
 .mobile-dock{position:fixed;z-index:30;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:calc(100% - 28px);max-width:400px;display:flex;align-items:center;gap:8px;padding:9px;border-radius:32px;border:1px solid rgba(255,255,255,.85);background:rgba(242,244,244,.68);backdrop-filter:blur(26px) saturate(145%);-webkit-backdrop-filter:blur(26px) saturate(145%);box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #8c989644,0 8px 32px #14202a28}
 .mobile-dock>a,.mobile-dock>button{display:flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 18px;border-radius:24px;font-size:14px;line-height:1.2;font-weight:500;text-decoration:none;border:0;white-space:nowrap}
 .mobile-dock .mobile-dock-calc{flex:1.4;background:#be5844;color:#fff;box-shadow:inset 0 1px 1px #ffffff70,0 3px 8px #9b44362b}
 .mobile-dock-calc img{filter:brightness(0) invert(1)}
 .mobile-dock>button{flex:1;background:rgba(255,255,255,.3);color:var(--ink);box-shadow:inset 0 1px 1px #ffffff70}
 .mobile-dock>button:active,.mobile-dock>a:active{transform:scale(.97)}
 [data-theme=dark] .header .mobile-call{background:#ffffff12;border-color:#ffffff30;box-shadow:inset 0 1px 1px #ffffff33,0 4px 12px #0002}
 [data-theme=dark] .mobile-call img,[data-theme=dark] #mobile-menu-open img{filter:invert(1)}
 [data-theme=dark] .mobile-dock{background:rgba(47,50,52,.74);border-color:#ffffff38;box-shadow:inset 0 1px 1px #ffffff5c,inset 0 -1px 1px #0003,0 8px 32px #0005}
 [data-theme=dark] .mobile-dock>button{background:#ffffff09;box-shadow:inset 0 1px 1px #ffffff17}
 body:has(.cookie-panel:not([hidden])) .mobile-dock,body:has(dialog[open]) .mobile-dock,body:has(input:focus,textarea:focus,select:focus) .mobile-dock{visibility:hidden;pointer-events:none}
 .reviews-section{scroll-margin-top:24px}
 #mobile-menu[open]{animation:mobile-sheet-in .24s cubic-bezier(.2,.8,.2,1)}
 @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.mobile-dock{background:#f1f3f3}[data-theme=dark] .mobile-dock{background:#2f3234}}
}
@keyframes mobile-sheet-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#mobile-menu[open]{animation:none}.mobile-dock>a,.mobile-dock>button{transition:none}}
@media(prefers-reduced-transparency:reduce){.mobile-dock{background:#f1f3f3;backdrop-filter:none;-webkit-backdrop-filter:none}[data-theme=dark] .mobile-dock{background:#2f3234}#mobile-menu::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media print{.mobile-dock,.mobile-call,#mobile-menu{display:none!important}}
