/* =========================================================
   LFD open-call panel - the APPROVED design

   Every value below is read off lfd-home.css:77-275 and carries the line it
   came from. Nothing is reinterpreted.

   Three things are not carried over, and each is a technical fix rather than a
   design change:

   1. No !important. The approved file needs it to beat Elementor's own widget
      styles; this component owns its markup, so it needs none.
   2. No `body.home` prefix. The section only exists inside the shell, and
      scoping to a body class would make the component untestable in isolation.
   3. No `*::first-letter` reset. That existed to undo a drop-cap Manon applies
      to page-builder text; it cannot reach this markup.
   ========================================================= */

/* lfd-home.css:79-85 - the block's own vertical rhythm. The horizontal padding
   in the approved file (24px) is the page gutter, which the shell now owns. */
.lfd-home-announcement {
  position: relative;
  z-index: 2;
  padding-block: 24px 58px;
  background: #fff;
}

/* lfd-home.css:91-104 */
.lfd-announcement-card {
  inline-size: min(1320px, 100%);
  margin-inline: auto;
  padding: 34px 42px;
  display: grid;
  grid-template-columns: 96px 1.35fr 1.25fr 270px;
  gap: 34px;
  align-items: center;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.14);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.035);
  box-sizing: border-box;
}

.lfd-announcement-card * {
  box-sizing: border-box;
}

/* lfd-home.css:121-139 - the rotated label.

   PHYSICAL properties here, deliberately: logical properties resolve against
   the element's OWN writing mode, so inside `writing-mode: vertical-rl` a
   `border-inline-end` is the physical bottom edge, which the rotation then
   moves to the top. Neither is what this rule wants.

   APPROVED-DESIGN DEFECT, CORRECTED. lfd-home.css:129-130 pairs
   `padding-right: 22px` with `border-right`, and `transform: rotate(180deg)`
   turns the rendered box through half a turn - so the physical RIGHT edge is
   painted on the VISUAL LEFT. The hairline landed at the card's outer edge
   instead of between the label and the title, which is not what a divider is
   for. Owner decision: the line separates label from content, and the old
   result is a defect rather than a design intent.

   The fix is the side only. After the 180deg rotation, `border-left` paints on
   the visual right, and `padding-left` keeps the same 22px between the text and
   the line that the approved rule intended. Sizes, typography and spacing are
   unchanged: 22px is still 22px and 1px is still 1px. */
.lfd-announcement-label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  min-height: 118px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-left: 22px;
  border-left: 1px solid rgba(0, 0, 0, 0.16);
  font-family: Oswald, Arial, sans-serif;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #111;
  white-space: nowrap;
}

/* lfd-home.css:141-149 - Georgia, as the approved design specifies. The
   editorial serif is the approved voice for these titles; it is not Oswald. */
.lfd-announcement-title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3vw, 52px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.045em;
  text-transform: none;
  color: #111;
  max-inline-size: 520px;
}

/* lfd-home.css:152-160 */
.lfd-announcement-copy {
  padding-inline-start: 34px;
  border-inline-start: 1px solid rgba(0, 0, 0, 0.16);
  max-inline-size: 430px;
}

.lfd-announcement-copy p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  font-weight: 400;
  color: #222;
}

/* lfd-home.css:163-167 */
.lfd-announcement-action {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* lfd-home.css:169-190 */
.lfd-announcement-link {
  inline-size: 100%;
  min-block-size: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  background: #000;
  color: #fff;
  border: 1px solid #000;
  padding: 15px 22px;
  font-family: Oswald, Arial, sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background-color var(--lfd-duration-base, 0.25s) ease,
              color var(--lfd-duration-base, 0.25s) ease;
}

.lfd-announcement-link:hover,
.lfd-announcement-link:focus-visible {
  background: #fff;
  color: #000;
}

/* lfd-home.css:192-197 */
.lfd-announcement-note {
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #333;
  text-align: center;
}

/* ---------------------------------------------------------
   Tablet - lfd-home.css:203-232
   --------------------------------------------------------- */
@media (max-width: 1024px) {

  .lfd-home-announcement {
    padding-block: 20px 46px;
  }

  .lfd-announcement-card {
    inline-size: 100%;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    padding: 34px;
  }

  /* Back to horizontal-tb with no rotation, so the divider becomes a rule
     underneath and the left-side rules above are cleared. */
  .lfd-announcement-label {
    grid-column: 1 / -1;
    writing-mode: horizontal-tb;
    transform: none;
    min-height: auto;
    justify-content: flex-start;
    padding-left: 0;
    padding-bottom: 18px;
    border-left: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.14);
  }

  .lfd-announcement-copy {
    padding-inline-start: 0;
    border-inline-start: none;
  }
}

/* ---------------------------------------------------------
   Mobile - lfd-home.css:234-275
   --------------------------------------------------------- */
@media (max-width: 767px) {

  .lfd-home-announcement {
    padding-block: 18px 38px;
  }

  .lfd-announcement-card {
    inline-size: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
    padding: 28px 22px;
  }

  .lfd-announcement-label {
    padding-bottom: 14px;
  }

  .lfd-announcement-title {
    font-size: 34px;
    line-height: 1.02;
    letter-spacing: -0.035em;
    max-inline-size: none;
    /* Long single words in a 34px serif overflow a 320px screen. The approved
       file has no wrapping rule because it was never rendered that narrow. */
    overflow-wrap: break-word;
  }

  .lfd-announcement-copy {
    max-inline-size: none;
  }

  .lfd-announcement-copy p {
    font-size: 14px;
    line-height: 1.7;
  }

  .lfd-announcement-link {
    min-block-size: 48px;
    font-size: 11px;
  }

  .lfd-announcement-note {
    text-align: start;
    font-size: 12px;
  }
}
