/* LUMBOSO v1.4.7 — responsive hero alignment, warm app header, clean standalone join page */
:root{--lum-v147-paper:#f7f0e6;--lum-v147-paper-2:#fffaf3;--lum-v147-gold:#b37d32;--lum-v147-ink:#202720}

/* Warm app chrome: remove the cold blue/grey cast from the compact header. */
@media(max-width:1180px){
  .lum-v146-header .lum-header-inner{
    background:linear-gradient(180deg,rgba(255,250,243,.98),rgba(247,240,230,.98))!important;
    border-color:rgba(173,129,60,.12)!important;
    box-shadow:0 10px 30px rgba(43,32,20,.08)!important;
  }
  .lum-v146-menu-toggle,.lum-v146-mobile-account{
    background:rgba(255,253,249,.82)!important;
    border-color:rgba(179,125,50,.20)!important;
  }
}
@media(max-width:700px){
  .lum-v146-header{background:var(--lum-v147-paper)!important}
  .lum-v146-header .lum-shell{width:100%!important}
  .lum-v146-header .lum-header-inner{border-radius:0!important;border-left:0!important;border-right:0!important;box-shadow:none!important}
}

/* Desktop hero script: lower, right-aligned and constrained so it always sits cleanly. */
body.lumboso-front .lum-v11-hero-script{
  right:max(5.7%,calc((100vw - 1320px)/2 + 44px))!important;
  top:20.5%!important;
  width:min(430px,34vw)!important;
  text-align:right!important;
  line-height:1.08!important;
  font-size:clamp(27px,2.15vw,38px)!important;
  white-space:normal!important;
  z-index:3!important;
}

/* Tablet: keep the script and weather separated from the title. */
@media(min-width:701px) and (max-width:1180px){
  body.lumboso-front .lum-v11-hero-script{
    display:block!important;
    right:4.5%!important;
    top:20.5%!important;
    width:330px!important;
    font-size:clamp(23px,3vw,31px)!important;
  }
  body.lumboso-front .lum-v136-live-panel{
    right:4.5%!important;
    top:31%!important;
    left:auto!important;
    bottom:auto!important;
    width:225px!important;
  }
  body.lumboso-front .lum-v136-location-pill{
    right:4.5%!important;
    bottom:172px!important;
  }
}

/* iPhone: compact weather card above the hero copy, never over the title. */
@media(max-width:700px){
  body.lumboso-front .lum-v11-hero{min-height:900px!important}
  body.lumboso-front .lum-v11-hero-inner{
    min-height:650px!important;
    padding-top:190px!important;
  }
  body.lumboso-front .lum-v11-hero-copy{max-width:min(330px,88vw)!important}
  body.lumboso-front .lum-v11-hero-script{display:none!important}
  body.lumboso-front .lum-v136-live-panel{
    left:auto!important;
    right:14px!important;
    top:86px!important;
    bottom:auto!important;
    width:min(238px,calc(100% - 28px))!important;
    padding:9px 11px!important;
    border-radius:15px!important;
    background:rgba(32,35,31,.45)!important;
    border:1px solid rgba(255,255,255,.25)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.12)!important;
  }
  body.lumboso-front .lum-v136-live-location{font-size:7px!important;margin-bottom:6px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.lumboso-front .lum-v136-live-row{grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important}
  body.lumboso-front .lum-v136-date{display:none!important}
  body.lumboso-front .lum-v136-weather{min-width:0!important}
  body.lumboso-front .lum-v136-weather b{font-size:18px!important}
  body.lumboso-front .lum-v136-weather small{font-size:7px!important}
  body.lumboso-front .lum-v136-time{font-size:13px!important}
  /* Costa Brava label is intentionally hidden on phones: no overlap with search/content. */
  body.lumboso-front .lum-v136-location-pill{display:none!important}
}
@media(max-width:390px){
  body.lumboso-front .lum-v11-hero-inner{padding-top:184px!important}
  body.lumboso-front .lum-v136-live-panel{top:82px!important;right:12px!important;width:220px!important}
}

/* Standalone Join page only — it is not injected into the homepage. */
body.lum-join-page{background:var(--lum-v147-paper)!important}
body.lum-join-page main{overflow:visible!important}
body.lum-join-page .lum-mobile-nav{display:none!important}
.lum-join-experience{
  min-height:100svh!important;
  display:grid!important;
  place-items:center!important;
  padding:clamp(18px,3vw,38px)!important;
  background:radial-gradient(circle at 72% 12%,rgba(213,176,108,.18),transparent 31%),var(--lum-v147-paper)!important;
}
.lum-join-experience-inner{width:min(1120px,100%)!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,1.04fr) minmax(360px,.78fr)!important;gap:22px!important;align-items:center!important}
.lum-join-poster{
  aspect-ratio:1/1!important;
  min-height:0!important;
  border-radius:34px!important;
  background-position:center 54%!important;
  box-shadow:0 30px 90px rgba(52,38,22,.17)!important;
}
.lum-join-poster:before{background:linear-gradient(180deg,rgba(255,247,235,.66) 0%,rgba(255,247,235,.24) 34%,rgba(255,247,235,.03) 60%,rgba(17,22,17,.10) 100%)!important}
.lum-join-poster-content{padding:clamp(28px,4vw,48px)!important}
.lum-join-poster-logo{width:clamp(128px,13vw,170px)!important;margin-bottom:clamp(14px,1.6vw,20px)!important}
.lum-join-poster h1{font-size:clamp(42px,5.25vw,67px)!important;line-height:.9!important}
.lum-join-avatar-row{margin-top:clamp(16px,2vw,23px)!important}
.lum-join-quote{font-size:clamp(22px,2.5vw,30px)!important}
.lum-join-form-panel{margin:0!important;padding:clamp(24px,3vw,38px)!important;border-radius:30px!important;background:rgba(255,251,246,.97)!important;box-shadow:0 24px 70px rgba(45,33,20,.09)!important}

@media(max-width:900px){
  .lum-join-experience{padding:10px 8px 28px!important;place-items:start center!important}
  .lum-join-experience-inner{grid-template-columns:1fr!important;max-width:650px!important;gap:14px!important}
  .lum-join-poster{aspect-ratio:1/1.04!important;border-radius:27px!important}
  .lum-join-form-panel{border-radius:24px!important}
}
@media(max-width:520px){
  .lum-join-experience{padding:6px 6px calc(18px + env(safe-area-inset-bottom))!important}
  .lum-join-poster{min-height:520px!important;aspect-ratio:auto!important;border-radius:24px!important}
  .lum-join-poster-content{padding:28px 18px 24px!important}
  .lum-join-poster h1{font-size:42px!important}
  .lum-join-poster-logo{width:122px!important}
  .lum-join-poster .lum-join-cta{min-width:235px!important;height:49px!important}
  .lum-join-form-panel{padding:19px!important;border-radius:22px!important}
}
