/* Reference-led botanical holiday layer. No application layout is changed. */
#tfl-holiday-header,
#tfl-holiday-greeting,
#tfl-holiday-hours {
  box-sizing: border-box;
  pointer-events: none !important;
  user-select: none;
}
#tfl-holiday-header *,
#tfl-holiday-greeting *,
#tfl-holiday-hours * {
  box-sizing: border-box;
  pointer-events: none !important;
}

#tfl-holiday-header {
  position: fixed;
  inset: 0 0 auto;
  height: 126px;
  z-index: 51;
  /* Each piece has its own composed silhouette, not an 8px clipping strip. */
  overflow: hidden;
}
#tfl-holiday-header .tfl-holiday-strand {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 34px;
  overflow: visible;
  transform: translateY(3px) scaleY(.65);
  transform-origin: top;
}
#tfl-holiday-header .tfl-holiday-corner {
  position: absolute;
  top: -36px;
  left: -25px;
  width: clamp(245px, 20vw, 385px);
  height: 158px;
  background: url("./evergreen.webp") no-repeat left top / 100% 100%;
  filter: drop-shadow(0 2px 2px #28332319);
}
#tfl-holiday-header .tfl-holiday-corner--right {
  left: auto;
  right: -25px;
  transform: scaleX(-1);
}
#tfl-holiday-header[data-minimal="true"] {
  height: 28px;
}
#tfl-holiday-header[data-minimal="true"] .tfl-holiday-corner {
  display: none;
}
#tfl-holiday-header[data-minimal="true"] .tfl-holiday-strand {
  height: 24px;
}

#tfl-holiday-greeting {
  position: absolute;
  z-index: 11;
  margin: 0;
  padding: 0 58px 28px;
  width: max-content;
  max-width: 540px;
  color: #283d28;
  /* The decoration alone uses a bookish italic; all site fonts stay intact. */
  font-family: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  font-size: clamp(33px, 2.65vw, 49px);
  font-style: italic;
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.045em;
  white-space: nowrap;
  visibility: hidden;
}
#tfl-holiday-greeting::before,
#tfl-holiday-greeting::after {
  content: "";
  position: absolute;
  top: .62em;
  width: 43px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #b59b59);
}
#tfl-holiday-greeting::before { left: 0; }
#tfl-holiday-greeting::after {
  right: 0;
  transform: scaleX(-1);
}
#tfl-holiday-greeting .tfl-holiday-botanical {
  position: absolute;
  width: 108px;
  height: 35px;
  bottom: 0;
  left: calc(50% - 54px);
}
#tfl-holiday-greeting[data-positioned="true"],
#tfl-holiday-hours[data-positioned="true"] {
  visibility: visible;
}

#tfl-holiday-hours {
  position: absolute;
  z-index: 12;
  visibility: hidden;
}
#tfl-holiday-hours .tfl-holiday-botanical {
  position: absolute;
  width: 78px;
  height: 59px;
  left: -29px;
  top: -24px;
  transform: rotate(-42deg);
}
#tfl-holiday-hours .tfl-holiday-botanical--second {
  left: auto;
  top: auto;
  right: -20px;
  bottom: -17px;
  transform: rotate(138deg);
}
@media (min-width: 1600px) {
  #tfl-holiday-hours .tfl-holiday-botanical {
    width: 98px;
    height: 72px;
  }
}
@media (max-width: 1279px) {
  #tfl-holiday-greeting { display: none !important; }
  #tfl-holiday-header .tfl-holiday-corner {
    width: 240px;
    height: 125px;
    top: -28px;
    left: -24px;
  }
  #tfl-holiday-header .tfl-holiday-corner--right {
    left: auto;
    right: -24px;
  }
}
@media (max-width: 767px) {
  /* A different composition: short outer needle fans and a generous light
     rhythm, rather than a miniaturized desktop garland across the controls. */
  #tfl-holiday-header { height: 58px; }
  #tfl-holiday-header .tfl-holiday-strand { height: 22px; }
  #tfl-holiday-header .tfl-holiday-strand {
    height: 34px;
    transform: scaleY(.52);
  }
  #tfl-holiday-header .tfl-holiday-corner {
    width: 112px;
    height: 72px;
    top: -22px;
    left: -24px;
  }
  #tfl-holiday-header .tfl-holiday-corner--right {
    left: auto;
    right: -24px;
  }
  #tfl-holiday-hours .tfl-holiday-botanical {
    width: 55px;
    height: 42px;
    left: -17px;
    top: -15px;
  }
  #tfl-holiday-hours .tfl-holiday-botanical--second {
    left: auto;
    top: auto;
    right: -8px;
    bottom: -9px;
  }
  #tfl-holiday-header[data-minimal="true"] .tfl-holiday-strand {
    height: 20px;
  }
}
@media print {
  #tfl-holiday-header,
  #tfl-holiday-greeting,
  #tfl-holiday-hours { display: none !important; }
}
