/*
 * MEISTER Archidona v2.0.4
 * HEADER ZERO-CLIPPING + ZERO-CROWDING RULE
 * Acceptance rule for desktop headers:
 * - 18–20px minimum between navigation items.
 * - 32–40px minimum between navigation and CTA cluster.
 * - Compact CTA first; typography may reduce by max 1px; then use compact breakpoint.
 * - Never clip, overlap, truncate, or collapse gaps to make content fit.
 */

@media (min-width:1181px) and (hover:hover) and (pointer:fine){
  .site-header .nav-wrap{
    display:grid!important;
    grid-template-columns:max-content max-content minmax(0,1fr) max-content!important;
    align-items:center!important;
    width:100%!important;
    min-height:82px!important;
    height:82px!important;
    padding-inline:clamp(16px,1.35vw,28px)!important;
    column-gap:20px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }

  .site-header .brand{
    grid-column:1!important;
    display:flex!important;
    align-items:center!important;
    justify-self:start!important;
    min-width:0!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    flex:0 0 auto!important;
  }
  .site-header .brand img{
    display:block!important;
    width:clamp(88px,6.2vw,118px)!important;
    max-width:none!important;
    height:auto!important;
    flex:0 0 auto!important;
  }

  /* The boutique name is never allowed to be clipped or ellipsised. */
  .site-header .desktop-site-title{
    grid-column:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    min-height:48px!important;
    margin:0!important;
    padding-inline:18px!important;
    border-left:1px solid rgba(255,255,255,.14)!important;
    border-right:1px solid rgba(255,255,255,.14)!important;
    color:#fff!important;
    font-size:14px!important;
    font-weight:750!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:unset!important;
    flex:0 0 auto!important;
    box-sizing:border-box!important;
  }

  .site-header .main-nav{
    grid-column:3!important;
    display:block!important;
    min-width:0!important;
    width:100%!important;
    margin:0!important;
    overflow:visible!important;
  }
  .site-header .main-nav .menu{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:20px!important;
    min-width:max-content!important;
    width:max-content!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .site-header .main-nav .menu>li{
    flex:0 0 auto!important;
    min-width:max-content!important;
  }
  .site-header .main-nav .menu>li>a,
  .site-header .collections-nav-toggle,
  .site-header .services-nav-toggle,
  .site-header .guides-nav-toggle,
  .site-header .technology-nav-toggle,
  .site-header .boutique-nav-toggle,
  .site-header .social-nav-toggle{
    min-width:max-content!important;
    min-height:52px!important;
    padding-inline:0!important;
    color:rgba(255,255,255,.86)!important;
    font-family:inherit!important;
    font-size:14px!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:.01em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:unset!important;
  }

  /* 32–40px protected air-gap between navigation and conversion controls. */
  .site-header .nav-actions{
    grid-column:4!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    min-width:max-content!important;
    width:max-content!important;
    margin:0 0 0 16px!important; /* 20px grid gap + 16px margin = 36px */
    overflow:visible!important;
  }
  .site-header .nav-action,
  .site-header .nav-cta{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    min-width:0!important;
    width:auto!important;
    min-height:44px!important;
    height:44px!important;
    padding-inline:12px!important;
    font-size:10.5px!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:unset!important;
  }
  .site-header .nav-call{min-width:72px!important}
  .site-header .nav-cta{min-width:0!important;padding-inline:14px!important}

  .site-header .mobile-site-title,
  .site-header [data-mobile-toggle],
  .site-header [data-mobile-panel]{display:none!important}
}

/*
 * Laptop-safe compact mode.
 * Step 1: CTA is compacted first.
 * Navigation keeps the master 18px gap and protected 32px nav→CTA separation.
 */
@media (min-width:1361px) and (max-width:1640px) and (hover:hover) and (pointer:fine){
  .site-header .nav-wrap{
    padding-inline:14px!important;
    column-gap:18px!important;
  }
  .site-header .brand img{width:88px!important}
  .site-header .desktop-site-title{
    padding-inline:14px!important;
    font-size:13.5px!important;
  }
  .site-header .main-nav .menu{gap:18px!important}
  .site-header .main-nav .menu>li>a,
  .site-header .collections-nav-toggle,
  .site-header .services-nav-toggle,
  .site-header .guides-nav-toggle,
  .site-header .technology-nav-toggle,
  .site-header .boutique-nav-toggle,
  .site-header .social-nav-toggle{font-size:13.5px!important}
  .site-header .nav-actions{
    gap:6px!important;
    margin-left:14px!important; /* 18 + 14 = 32px */
  }
  .site-header .nav-action,
  .site-header .nav-cta{
    height:42px!important;
    min-height:42px!important;
    padding-inline:9px!important;
    font-size:9.8px!important;
    letter-spacing:.02em!important;
  }
  .site-header .nav-date-choice{gap:5px!important}
  .site-header .nav-date-choice svg{width:12px!important;height:12px!important;flex-basis:12px!important}
  .site-header .nav-call{min-width:62px!important}
  .site-header .nav-cta{padding-inline:11px!important}
}

/*
 * Dedicated compact breakpoint for 13–14 inch laptop widths.
 * Step 1 remains CTA compaction; step 2 is only a 1px typography reduction.
 * No navigation gap below 18px, no nav→CTA gap below 32px.
 */
@media (min-width:1181px) and (max-width:1360px) and (hover:hover) and (pointer:fine){
  .site-header .nav-wrap{
    grid-template-columns:max-content max-content minmax(0,1fr) max-content!important;
    padding-inline:10px!important;
    column-gap:14px!important;
  }
  .site-header .brand img{width:72px!important}
  .site-header .desktop-site-title{
    min-height:44px!important;
    padding-inline:9px!important;
    font-size:12.5px!important;
    letter-spacing:0!important;
  }
  .site-header .main-nav .menu{gap:18px!important}
  .site-header .main-nav .menu>li>a,
  .site-header .collections-nav-toggle,
  .site-header .services-nav-toggle,
  .site-header .guides-nav-toggle,
  .site-header .technology-nav-toggle,
  .site-header .boutique-nav-toggle,
  .site-header .social-nav-toggle{
    min-height:48px!important;
    font-size:12.5px!important;
    letter-spacing:0!important;
  }
  .site-header .nav-actions{
    gap:4px!important;
    margin-left:18px!important; /* 14 + 18 = 32px */
  }
  .site-header .nav-action,
  .site-header .nav-cta{
    height:40px!important;
    min-height:40px!important;
    padding-inline:7px!important;
    font-size:9.2px!important;
    letter-spacing:0!important;
  }
  .site-header .nav-date-choice{gap:4px!important}
  .site-header .nav-date-choice svg{width:11px!important;height:11px!important;flex-basis:11px!important}
  .site-header .nav-call{min-width:56px!important}
  .site-header .nav-cta{padding-inline:8px!important}
}
