/* LUMBOSO v1.5.0 — one alignment guide, universal desktop header, corrected iPhone hero flow */
:root{
  --lum-v150-guide:1180px;
  --lum-v150-edge:64px;
}

/* ========================================================================
   DESKTOP — ONE COMMON RED-LINE GUIDE
   Hero copy/search begin on the left guide. Script, weather and Costa Brava
   finish on the exact same right guide. The header sits 50px down everywhere.
   ======================================================================== */
@media(min-width:1181px){
  body .lum-v146-header,
  body.lumboso-front .lum-v146-header{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:50px!important;
    width:100%!important;
    z-index:1100!important;
  }
  body.admin-bar .lum-v146-header,
  body.admin-bar.lumboso-front .lum-v146-header{
    top:82px!important;
  }

  body .lum-v146-header .lum-shell,
  body.lumboso-front .lum-v146-header .lum-shell{
    width:min(var(--lum-v150-guide),calc(100% - var(--lum-v150-edge)))!important;
    max-width:var(--lum-v150-guide)!important;
    margin-inline:auto!important;
  }
  body .lum-v146-header .lum-header-inner,
  body.lumboso-front .lum-v146-header .lum-header-inner{
    width:100%!important;
    height:62px!important;
    min-height:62px!important;
    padding:8px 11px 8px 14px!important;
    gap:7px!important;
    border-radius:999px!important;
  }
  body .lum-v146-header .lum-brand,
  body.lumboso-front .lum-v146-header .lum-brand{
    width:120px!important;
    min-width:120px!important;
    max-width:120px!important;
    flex:0 0 120px!important;
  }
  body .lum-v146-header .lum-brand img,
  body.lumboso-front .lum-v146-header .lum-brand img{max-height:39px!important}

  /* Menu text is readable again; spacing, not font size, is reduced to make it fit. */
  body .lum-v146-header .lum-nav,
  body .lum-v146-header .lum-v11-nav,
  body.lumboso-front .lum-v146-header .lum-nav,
  body.lumboso-front .lum-v146-header .lum-v11-nav{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:center!important;
    align-items:center!important;
    gap:5.5px!important;
    overflow:visible!important;
  }
  body .lum-v146-header .lum-nav a,
  body.lumboso-front .lum-v146-header .lum-nav a{
    font-size:11px!important;
    line-height:1!important;
    font-weight:500!important;
    letter-spacing:-.04em!important;
    padding:21px 0!important;
    white-space:nowrap!important;
  }
  body .lum-v146-header .lum-header-tools,
  body.lumboso-front .lum-v146-header .lum-header-tools{gap:4px!important;min-width:max-content!important}
  body .lum-v146-header .lum-v11-tool,
  body .lum-v146-header .lum-lang-current{width:31px!important;height:31px!important;min-width:31px!important}
  body .lum-v146-header .lum-header-cta{height:34px!important;padding:0 12px!important;font-size:9px!important}

  /* Hard 1:1 avatar crop, independent of the source image proportions. */
  body .lum-v146-header .lum-v11-user{
    position:relative!important;
    width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;
    min-height:36px!important;max-height:36px!important;flex:0 0 36px!important;
    aspect-ratio:1/1!important;border-radius:50%!important;overflow:hidden!important;
  }
  body .lum-v146-header .lum-v11-avatar{
    position:absolute!important;inset:0!important;
    width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;
    min-height:36px!important;max-height:36px!important;aspect-ratio:1/1!important;
    border-radius:50%!important;clip-path:circle(50% at 50% 50%)!important;
    object-fit:cover!important;object-position:center!important;
  }

  /* The red-line guide applies to the hero AND the complete search dock. */
  body.lumboso-front .lum-v11-hero-inner,
  body.lumboso-front .lum-v11-search-wrap{
    width:min(var(--lum-v150-guide),calc(100% - var(--lum-v150-edge)))!important;
    max-width:var(--lum-v150-guide)!important;
  }
  body.lumboso-front .lum-v11-hero-inner{
    margin-inline:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }
  body.lumboso-front .lum-v11-search-wrap{
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
  }
  body.lumboso-front .lum-v11-hero-copy{
    margin-left:0!important;
    padding-left:0!important;
  }

  /* All three right-side objects share EXACTLY the same right edge. */
  body.lumboso-front .lum-v11-hero-script{
    left:auto!important;
    right:0!important;
    top:16.5%!important;
    width:min(470px,40%)!important;
    margin:0!important;
    text-align:right!important;
    font-size:clamp(29px,2.15vw,38px)!important;
    line-height:1.05!important;
  }
  body.lumboso-front .lum-v136-live-panel{
    left:auto!important;
    right:0!important;
    top:31.5%!important;
    bottom:auto!important;
    width:245px!important;
    margin:0!important;
  }
  body.lumboso-front .lum-v136-location-pill{
    left:auto!important;
    right:0!important;
    bottom:150px!important;
    margin:0!important;
    transform:none!important;
  }
}

/* Keep the same guide on narrower desktop/laptop widths without letting items escape. */
@media(min-width:1181px) and (max-width:1280px){
  :root{--lum-v150-edge:44px}
  body .lum-v146-header .lum-nav,
  body.lumboso-front .lum-v146-header .lum-nav{gap:4.5px!important}
  body .lum-v146-header .lum-nav a,
  body.lumboso-front .lum-v146-header .lum-nav a{font-size:10.4px!important}
}

/* ========================================================================
   IPHONE — copy goes UP; weather goes DOWN, centred immediately above search
   ======================================================================== */
@media(max-width:700px){
  body.lumboso-front .lum-v11-hero{
    min-height:1010px!important;
  }
  body.lumboso-front .lum-v11-hero-inner{
    width:calc(100% - 28px)!important;
    min-height:720px!important;
    margin-inline:auto!important;
    padding-top:135px!important;
    align-items:flex-start!important;
  }
  body.lumboso-front .lum-v11-hero-copy{
    width:100%!important;
    max-width:340px!important;
    padding-top:0!important;
    margin:0!important;
  }
  body.lumboso-front .lum-v11-kicker{
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:.27em!important;
  }
  body.lumboso-front .lum-v11-hero-copy h1{
    font-size:48px!important;
    line-height:.82!important;
    margin:12px 0 19px!important;
  }
  body.lumboso-front .lum-v11-hero-copy p{
    font-size:19px!important;
    line-height:1.12!important;
    margin:0!important;
  }

  /* Weather is no longer above the copy. It sits in the free band before search. */
  body.lumboso-front .lum-v136-live-panel{
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:558px!important;
    transform:translateX(-50%)!important;
    width:min(318px,calc(100% - 44px))!important;
    margin:0!important;
    padding:11px 13px 10px!important;
    border-radius:18px!important;
  }
  body.lumboso-front .lum-v136-live-location{
    margin-bottom:7px!important;
    font-size:7.5px!important;
    line-height:1.2!important;
    text-align:left!important;
  }
  body.lumboso-front .lum-v136-live-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:9px!important;
  }
  body.lumboso-front .lum-v136-date{
    display:block!important;
    font-size:7px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.lumboso-front .lum-v136-time{
    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.lumboso-front .lum-v136-weather{min-width:0!important}
  body.lumboso-front .lum-v139-weather-icon{width:38px!important;height:38px!important;min-width:38px!important}
  body.lumboso-front .lum-v139-weather-copy b{font-size:19px!important}
  body.lumboso-front .lum-v139-weather-copy small{font-size:7px!important}

  /* Search remains the reference block below; weather is centred to this same width. */
  body.lumboso-front .lum-v11-search-wrap{
    width:calc(100% - 18px)!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    bottom:14px!important;
  }

  body.lumboso-front .lum-v11-hero-script,
  body.lumboso-front .lum-v136-location-pill{display:none!important}
}

/* Narrow iPhones need a little more clearance because the search form grows taller. */
@media(max-width:390px){
  body.lumboso-front .lum-v11-hero{min-height:1035px!important}
  body.lumboso-front .lum-v11-hero-inner{padding-top:128px!important}
  body.lumboso-front .lum-v11-hero-copy{max-width:315px!important}
  body.lumboso-front .lum-v11-hero-copy h1{font-size:46px!important}
  body.lumboso-front .lum-v136-live-panel{
    bottom:580px!important;
    width:min(304px,calc(100% - 38px))!important;
  }
}

/* Final circle protection for the header and drawer profile image on every breakpoint. */
body .lum-v146-header .lum-v11-user,
body .lum-v146-profile-avatar{border-radius:50%!important;aspect-ratio:1/1!important}
body .lum-v146-header .lum-v11-avatar,
body .lum-v146-profile-avatar img{
  border-radius:50%!important;
  clip-path:circle(50% at 50% 50%)!important;
  object-fit:cover!important;
  object-position:center!important;
}
