/* Floo home 2.0.7 – approved editorial homepage composition only.
   Article and normal page styles deliberately live elsewhere and are untouched. */

.floo-editable-home{
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-flow:row;
  align-items:start;
  background:var(--floo-paper);
  overflow:hidden;
}
.floo-editable-home>.wp-block-group{margin:0!important;position:relative;max-width:none!important;width:auto!important}
.floo-home-hero-block>*,.floo-home-songs-block>*,.floo-home-current-block>*,.floo-home-blog-block>*{margin-left:0;margin-right:0}

/* ---------- Homepage header ---------- */
.floo-home-page .floo-header--home{background:var(--floo-paper)}
.floo-home-page .floo-header--home .floo-header__inner{
  min-height:132px;
  width:min(1500px,calc(100% - 8vw));
  padding:1rem 0 .35rem;
  align-items:start;
}
.floo-home-page .floo-header--home .floo-logo{
  width:clamp(190px,19vw,285px);
  height:auto;
  align-items:flex-start;
}
.floo-home-page .floo-header--home .floo-logo img{
  width:100%;
  height:auto;
  max-height:118px;
  object-fit:contain;
  object-position:left top;
}
.floo-home-page .floo-header--home .floo-header__nav{padding-top:1.15rem}

/* ---------- Hero ---------- */
.floo-home-hero-block{
  grid-column:1/-1;
  min-height:clamp(430px,41vw,610px);
  display:block!important;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:0 max(4.5vw,48px);
  border-bottom:1px solid color-mix(in srgb,var(--floo-ink) 12%,transparent);
}
.floo-home-hero-block::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:0;
  top:0;
  bottom:0;
  width:min(39vw,620px);
  background:repeating-linear-gradient(90deg,transparent 0 15px,var(--floo-coast) 15px 32px,transparent 32px 48px);
  opacity:.72;
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.16) 14%,#000 38%,#000 100%);
}
.floo-home-hero-copy{
  position:relative;
  z-index:3;
  width:min(48%,680px);
  padding:1.8rem 0 4.5rem;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
}
.floo-home-kicker{
  order:-1;
  color:var(--floo-accent);
  font-size:clamp(.9rem,1.2vw,1.08rem);
  letter-spacing:.045em;
  margin:0 0 1.3rem!important;
}
.floo-home-title{
  font-family:var(--floo-serif);
  font-size:clamp(5.2rem,8vw,9.3rem);
  font-weight:410;
  line-height:.82;
  letter-spacing:-.055em;
  margin:0 0 1.5rem!important;
  color:var(--floo-ink);
  max-width:5.6ch;
}
.floo-home-sentence{
  font-family:var(--floo-serif);
  font-size:clamp(1.35rem,2vw,2.05rem);
  line-height:1.22;
  margin:0 0 2rem!important;
  max-width:28ch;
}
.floo-home-arrow-link{margin:0!important}
.floo-home-hero-image{
  z-index:2;
  margin:0!important;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  position:absolute;
  right:max(7vw,70px);
  bottom:0;
  width:min(47%,700px);
  height:100%;
  pointer-events:none;
}
.floo-home-hero-image a{display:flex;width:100%;height:100%;align-items:flex-end;justify-content:flex-end}
.floo-home-hero-image img{
  display:block;
  width:min(100%,690px)!important;
  height:100%!important;
  max-height:590px;
  object-fit:contain;
  object-position:right bottom;
  filter:drop-shadow(0 18px 32px rgba(25,60,74,.06));
}

/* ---------- Shared link behaviour ---------- */
.floo-home-page .floo-editable-home a:not(.floo-home-reading__card){transition:color .18s ease,border-color .18s ease}
.floo-home-page .floo-editable-home a:not(.floo-home-reading__card):hover{color:var(--floo-accent)}
.floo-home-page .floo-editable-home a span[aria-hidden="true"]{display:inline-block;transition:transform .18s ease}
.floo-home-page .floo-editable-home a:hover span[aria-hidden="true"]{transform:translateX(.18em)}

/* ---------- Audio column ---------- */
.floo-home-songs-block{
  grid-column:1/6;
  grid-row:2 / span 2;
  padding:3.15rem 3vw 3.1rem max(5vw,48px);
  min-height:760px;
  border-right:1px solid color-mix(in srgb,var(--floo-ink) 8%,transparent);
  overflow:visible;
}
.floo-home-songs-block>.floo-home-section-title,
.floo-home-blog-block>.floo-home-section-title{
  font-family:var(--floo-serif);
  font-size:clamp(2.65rem,3.6vw,4rem);
  font-weight:430;
  line-height:.95;
  letter-spacing:.03em;
  text-transform:uppercase;
  margin:0 0 1.65rem!important;
  position:relative;
  display:inline-block;
}
.floo-home-songs-block>.floo-home-section-title::after,
.floo-home-blog-block>.floo-home-section-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-.55rem;
  width:34px;
  height:2px;
  background:var(--floo-accent);
}
.floo-home-song-list{
  max-width:540px;
  max-height:none;
  overflow:visible;
  padding:0;
  margin:1.35rem 0 0;
}
.floo-song{
  position:relative;
  min-height:64px;
  display:grid;
  align-content:center;
  border-bottom:1px solid color-mix(in srgb,var(--floo-ink) 20%,transparent);
}
.floo-song__button{
  width:100%;
  display:grid;
  grid-template-columns:46px 1fr;
  align-items:center;
  gap:1rem;
  text-align:left;
  background:none;
  border:0;
  padding:.58rem 0;
  cursor:pointer;
  color:inherit;
}
.floo-song__title{font-family:var(--floo-serif);font-size:clamp(1rem,1.35vw,1.26rem)}
.floo-song__disc{
  position:relative;
  width:39px;
  height:39px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 42% 38%,#333 0 19%,#181818 20% 55%,#080808 56% 100%);
  box-shadow:0 4px 8px rgba(0,0,0,.13);
}
.floo-song__disc::before{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--floo-accent);opacity:1}
.floo-song__disc-symbol{position:relative;z-index:2;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:6px solid #fff;margin-left:1px}
.floo-song.is-playing{color:var(--floo-accent)}
.floo-song.is-playing .floo-song__disc{animation:floo-record-spin 4.8s linear infinite}
.floo-song.is-playing .floo-song__disc-symbol{width:8px;height:9px;border:0;margin:0;background:linear-gradient(90deg,#fff 0 3px,transparent 3px 5px,#fff 5px 8px)}
@keyframes floo-record-spin{to{transform:rotate(360deg)}}
.floo-song__progress{position:absolute;left:55px;right:0;bottom:-1px;height:2px;overflow:hidden;background:transparent}
.floo-song__progress span{display:block;height:100%;width:var(--floo-progress,0%);background:var(--floo-accent);transition:width .15s linear}
.floo-home-uke{
  margin:1.75rem 0 -1rem!important;
  width:min(100%,520px);
  min-height:360px;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  overflow:visible;
  pointer-events:none;
}
.floo-home-uke img{
  display:block;
  width:min(100%,500px);
  height:auto;
  transform:rotate(-2deg);
  transform-origin:center;
  filter:drop-shadow(0 18px 22px rgba(20,55,70,.09));
}

/* ---------- “Gerade da” card ---------- */
.floo-home-current-block{
  grid-column:6/-1;
  grid-row:2;
  margin:2.05rem max(4.5vw,48px) 1.45rem 2.4vw;
  min-height:345px;
  padding:6.6rem clamp(2.6rem,4vw,4.6rem) 3rem;
  background:color-mix(in srgb,var(--floo-coast) 36%,var(--floo-paper));
  overflow:hidden;
  display:block!important;
  position:relative;
}
.floo-home-current-block::before{
  content:"";
  position:absolute;
  left:clamp(2.6rem,4vw,4.6rem);
  top:2rem;
  width:70px;
  height:58px;
  background:url('../images/floo-schiff.webp') center/contain no-repeat;
}
.floo-home-current-block::after{
  content:"";
  position:absolute;
  right:-8%;
  top:0;
  bottom:0;
  width:38%;
  background:repeating-linear-gradient(0deg,var(--floo-coast) 0 7px,transparent 7px 18px);
  opacity:.17;
  mask-image:linear-gradient(90deg,transparent,#000);
}
.floo-home-current-block>*{position:relative;z-index:1;max-width:690px}
.floo-home-current-block>.floo-home-section-title{
  font-family:var(--floo-serif);
  font-size:clamp(2.7rem,4.6vw,4.8rem);
  font-weight:430;
  line-height:.95;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin:0 0 .55rem!important;
}
.floo-home-current-text{
  margin:0!important;
  font-size:1rem;
  line-height:1.45;
  max-width:48ch!important;
}
.floo-current-kicker{display:block;color:var(--floo-accent);font-size:.96rem;letter-spacing:.025em;margin:0 0 .65rem}
.floo-home-current-links{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  margin:1.35rem 0 0;
  font-family:var(--floo-serif);
  font-size:1.06rem;
}
.floo-home-current-links a{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;border-bottom:1px solid var(--floo-ink);padding-bottom:.16rem}
.floo-home-current-links a:hover{border-color:var(--floo-accent)}
.floo-home-current-links .floo-dot{display:inline-block;margin:0 .9rem;color:color-mix(in srgb,var(--floo-ink) 58%,transparent)}
.floo-home-current-links .floo-pdf-label{font-family:var(--floo-sans);font-size:.63rem;letter-spacing:.08em;text-transform:uppercase;opacity:.65}

/* ---------- Reading cards ---------- */
.floo-home-blog-block{
  grid-column:6/-1;
  grid-row:3;
  display:block!important;
  margin:0 max(4.5vw,48px) 3.3rem 2.4vw;
  padding:0;
  min-height:0;
  border:0;
  overflow:visible;
  background:var(--floo-paper);
}
.floo-home-reading{max-width:none;margin:0}
.floo-home-reading__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(.75rem,1.3vw,1.35rem);
  align-items:stretch;
}
.floo-home-reading__card{
  display:flex;
  flex-direction:column;
  min-width:0;
  text-decoration:none;
  color:inherit;
  background:var(--floo-paper);
  border:1px solid color-mix(in srgb,var(--floo-ink) 15%,transparent);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.floo-home-reading__card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--floo-accent) 48%,transparent);
  box-shadow:0 14px 28px rgba(20,55,70,.07);
}
.floo-home-reading__media{margin:0;overflow:hidden;background:color-mix(in srgb,var(--floo-coast) 24%,var(--floo-paper));aspect-ratio:4/3}
.floo-home-reading__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.floo-home-reading__card:hover .floo-home-reading__media img{transform:scale(1.025)}
.floo-home-reading__placeholder{width:100%;height:100%;background:repeating-linear-gradient(90deg,var(--floo-coast) 0 12px,transparent 12px 28px);opacity:.6}
.floo-home-reading__copy{padding:.85rem .9rem .9rem;display:flex;flex-direction:column;flex:1}
.floo-home-reading__title{margin:0 0 .3rem!important;font-family:var(--floo-serif);font-size:clamp(1.08rem,1.5vw,1.38rem);font-weight:500;line-height:1.1}
.floo-home-reading__subtitle{margin:0 0 .8rem!important;font-size:.78rem;line-height:1.32;opacity:.92}
.floo-home-reading__meta{margin:auto 0 0!important;padding-top:.75rem;border-top:1px solid color-mix(in srgb,var(--floo-ink) 12%,transparent);font-size:.66rem;line-height:1.35;opacity:.72}
.floo-home-reading__all{display:inline-flex;align-items:center;gap:.65rem;margin-top:1.25rem;text-decoration:none;border-bottom:1px solid var(--floo-ink);padding-bottom:.18rem;font-family:var(--floo-serif);font-size:1.05rem}
.floo-home-reading__all:hover{border-color:var(--floo-accent);color:var(--floo-accent)}

/* ---------- Homepage footer ---------- */
.floo-footer--home{
  position:relative;
  background:var(--floo-paper);
  min-height:82px;
  padding:1.65rem max(6vw,2rem);
  display:flex;
  justify-content:center;
  align-items:center;
  border-top:1px solid color-mix(in srgb,var(--floo-ink) 9%,transparent);
  overflow:hidden;
}
.floo-footer--home::before,
.floo-footer--home::after{
  content:"";
  position:absolute;
  bottom:0;
  width:140px;
  height:54px;
  background:repeating-linear-gradient(0deg,var(--floo-coast) 0 7px,transparent 7px 16px);
  opacity:.78;
}
.floo-footer--home::before{left:0}
.floo-footer--home::after{right:0}
.floo-footer--home .floo-footer__links{position:relative;z-index:1;display:flex;justify-content:center;align-items:center;gap:0;font-size:.78rem}
.floo-footer--home .floo-footer__links>*{text-decoration:none;border:0;background:none;color:inherit;padding:0;cursor:pointer;font:inherit}
.floo-footer--home .floo-footer__links>*+*::before{content:"·";display:inline-block;margin:0 .9rem;color:color-mix(in srgb,var(--floo-ink) 60%,transparent)}

.floo-home-empty-note{font-style:italic;opacity:.7}

@media(max-width:1100px){
  .floo-home-hero-copy{width:50%}
  .floo-home-hero-image{right:3vw;width:50%}
  .floo-home-songs-block{grid-column:1/6;padding-left:3.5vw}
  .floo-home-current-block,.floo-home-blog-block{grid-column:6/-1;margin-right:3.5vw}
  .floo-home-reading__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .floo-home-reading__card:nth-child(3){display:none}
}

@media(max-width:820px){
  .floo-home-page .floo-header--home .floo-header__inner{min-height:92px;width:calc(100% - 2rem);align-items:center}
  .floo-home-page .floo-header--home .floo-logo{width:165px}
  .floo-home-page .floo-header--home .floo-header__nav{padding-top:0}

  .floo-home-hero-block{min-height:auto;padding:0 1.35rem}
  .floo-home-hero-block::after{width:38%;bottom:30%}
  .floo-home-hero-copy{width:100%;max-width:none;padding:1.6rem 0 .8rem}
  .floo-home-title{font-size:clamp(4.2rem,18vw,6.8rem);max-width:6ch}
  .floo-home-sentence{font-size:1.25rem}
  .floo-home-hero-image{position:relative;right:auto;bottom:auto;width:100%;height:380px;justify-content:center}
  .floo-home-hero-image img{height:100%!important;max-height:420px;object-position:center bottom}

  .floo-home-songs-block,.floo-home-current-block,.floo-home-blog-block{
    grid-column:1/-1;
    grid-row:auto;
    margin:0;
    border-right:0;
  }
  .floo-home-songs-block{padding:3rem 1.35rem 2rem;min-height:0}
  .floo-home-current-block{margin:0 1.35rem 3rem;padding:6.2rem 2rem 2.5rem;min-height:0}
  .floo-home-current-block::before{left:2rem}
  .floo-home-blog-block{padding:0 1.35rem 3.5rem}
  .floo-home-uke{width:min(100%,500px);margin-left:auto!important;margin-right:auto!important}
  .floo-home-reading__grid{grid-template-columns:repeat(3,minmax(220px,1fr));overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x proximity}
  .floo-home-reading__card{scroll-snap-align:start}
}

@media(max-width:560px){
  .floo-home-page .floo-header--home .floo-logo{width:140px}
  .floo-footer--home::before,.floo-footer--home::after{width:78px;height:44px}
  .floo-home-current-block{margin-left:.9rem;margin-right:.9rem;padding-left:1.5rem;padding-right:1.5rem}
  .floo-home-current-block::before{left:1.5rem}
  .floo-home-current-links{font-size:1rem}.floo-home-current-links .floo-dot{margin:0 .55rem}
  .floo-home-reading__grid{grid-template-columns:repeat(3,minmax(76vw,1fr))}
}
