/* Shared navigation for the landing page and editorial pages. */
body .site-header { background: transparent; color: #f3f3f3; border-bottom-color: #202020; }
body .site-header .header-inner { min-height: 80px; }
body .site-header nav a { color: #a7a7ad; }
body .site-header nav a:hover, body .site-header nav a[aria-current] { color: #fff; }
body .site-header .header-cta { background: #eee; border-color: #eee; color: #171717; border-radius: 7px; }
body .site-header .header-cta:hover { background: #fff; }
body .site-header .menu-toggle { color: #eee; border-color: #444; }
.site-header a:focus-visible, .site-header button:focus-visible { outline: 2px solid #d8bea0; outline-offset: 5px; }
@media (max-width: 1100px) {
  body .site-header .header-inner { flex-wrap: wrap; padding-block: 16px; gap: 0; }
  body .site-header .header-phone, body .site-header .header-cta { display: none; }
  .site-header .menu-toggle:not([hidden]) { display: flex; margin-left: auto; font-size: 12px; }
  body .site-header .header-inner nav { width: 100%; order: 4; padding-top: 18px; gap: 0; flex-wrap: wrap; margin-left: 0; }
  body .site-header nav a { padding: 12px 20px 12px 0; min-height: 44px; }
  .js body .site-header .header-inner nav { display: none; }
  .js body .site-header .header-inner nav.is-open { display: flex; }
}

/* Shared direct contacts; SVG marks are the same assets used by UpGadget. */
.messenger-link { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; color: #d9dce4; font-size: 13px; text-decoration: none; }
.messenger-link img { display: block; flex: none; width: 28px; height: 28px; border-radius: 50%; }
.messenger-link:hover { color: #fff; }
.messenger-link:focus-visible, .messenger-widget summary:focus-visible { outline: 2px solid #e6d0b5; outline-offset: 4px; border-radius: 6px; }
.messenger-arrow { color: #ab9b8b; font-size: 15px; }
.header-messengers { display: flex; gap: 4px; flex: none; }
.header-messengers .messenger-link { justify-content: center; width: 44px; height: 44px; border: 1px solid #303138; border-radius: 50%; }
.header-messengers .messenger-link:hover { border-color: #757984; background: #ffffff08; }
body .site-header .header-inner { gap: 20px; }
body .contact-messengers, body .footer-socials, .selection-messengers { display: flex; flex-wrap: wrap; gap: 12px 24px; }
body .contact-messengers .messenger-link, body .footer-socials .messenger-link { gap: 9px; }
.selection-messengers { margin-top: 10px; }
.selection-messengers .messenger-link { font-size: 13px; }
.messenger-widget { position: fixed; right: max(24px, env(safe-area-inset-right)); bottom: max(24px, env(safe-area-inset-bottom)); z-index: 80; color: #f1f2f5; }
.messenger-widget summary { display: flex; align-items: center; justify-content: center; list-style: none; width: 56px; height: 56px; border: 1px solid #6b6259; border-radius: 50%; background: #e7dccd; color: #242324; cursor: pointer; box-shadow: 0 8px 30px #0006; }
.messenger-widget summary::-webkit-details-marker { display: none; }
.messenger-widget summary svg { stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.messenger-widget summary:hover { background: #f6eee3; }
.messenger-close, .messenger-widget[open] .messenger-bubble { display: none; }
.messenger-widget[open] .messenger-close { display: block; }
.messenger-panel { position: absolute; right: 0; bottom: 70px; width: 224px; max-width: calc(100vw - 40px); padding: 17px; background: #17181d; border: 1px solid #3c3d43; border-radius: 14px; box-shadow: 0 12px 40px #0006; }
.messenger-panel p { margin: 0 0 10px; color: #9da3af; font-size: 12px; }
.messenger-panel .messenger-link { display: flex; padding: 7px 0; min-height: 48px; font-size: 14px; }
.messenger-panel .messenger-arrow { margin-left: auto; }
body:has(dialog[open]) .messenger-widget { visibility: hidden; }
.page-footer { padding-bottom: 100px; }
@media (max-width: 1280px) and (min-width: 1101px) { body .site-header .header-phone { display: none; } }
@media (max-width: 1100px) {
  body .site-header .header-inner { column-gap: 12px; row-gap: 0; }
  .header-messengers { margin-left: auto; order: 2; }
  .site-header .menu-toggle:not([hidden]) { order: 3; margin-left: 0; }
}
@media (max-width: 600px) {
  .site-header .wordmark > span:not(.winding-mark) { display: none; }
  .messenger-widget { right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); }
  .messenger-widget summary { width: 52px; height: 52px; }
}
.fit-action { flex-wrap: wrap; }
.fit-action .selection-messengers { width: 100%; margin-top: 0; }

/* Informational notice: dismissal does not grant or gate analytics consent. */
.cookie-notice { position: fixed; z-index: 90; left: max(24px, env(safe-area-inset-left)); bottom: max(24px, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: 22px; width: min(560px, calc(100% - 48px)); padding: 20px 22px; border: 1px solid #3c3d43; border-radius: 14px; background: #17181d; color: #b8bec9; box-shadow: 0 12px 40px #0006; }
.cookie-notice[hidden] { display: none; }
.cookie-notice p { margin: 0; font-size: 12px; line-height: 1.7; }
.cookie-notice a { color: #e6d0b5; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice button { flex: none; min-height: 44px; padding: 10px 18px; border: 1px solid #d2c8bb; border-radius: 7px; background: #e7dccd; color: #242324; font: inherit; font-size: 12px; font-weight: 550; cursor: pointer; }
.cookie-notice button:hover { background: #f6eee3; }
.cookie-notice :is(a, button):focus-visible { outline: 2px solid #e6d0b5; outline-offset: 4px; }
@media (max-width: 900px) {
  .cookie-notice { left: max(16px, env(safe-area-inset-left)); bottom: max(16px, env(safe-area-inset-bottom)); width: calc(100% - 32px); max-width: 560px; }
  .messenger-widget { bottom: calc(max(16px, env(safe-area-inset-bottom)) + var(--cookie-notice-offset, 0px)); }
  .messenger-panel { max-height: calc(100dvh - var(--cookie-notice-offset, 0px) - 110px); overflow-y: auto; }
}
@media (max-width: 480px) {
  .cookie-notice { flex-direction: column; align-items: stretch; gap: 13px; padding: 17px; max-height: 45dvh; overflow-y: auto; }
  .cookie-notice button { align-self: flex-start; }
}
