/* responsive.css — flatten Wix's mesh layout into a vertical stack on small
   screens. wixkit.py links this per page (relative) and writes it to the site
   root. Makes mobile USABLE, not redesigned; for a real mobile layout use the
   Path B rebuild (wixkit rebuild ...), whose style.css is responsive by design.

   WHY THIS SHAPE: Wix places content AND decoration as siblings in the SAME
   grid cell (grid-area: 1/1/2/2) and spreads them apart with pixel margins +
   left offsets, some negative. Just zeroing the horizontal offset makes them
   pile on top of each other. The fix is to override grid-area to auto (each
   block gets its own row) and reset ALL positioning margins. */

html,
body {
  overflow-x: hidden;
  max-width: 100%;
}

@media (max-width: 980px) {

  /* A. neutralise the fixed 980px canvas + the min-widths that cause zoom-out */
  :root,
  .theme-vars,
  .max-width-container {
    --site-width: 100% !important;
  }

  #SITE_HEADER .ht6q8b {
    display: none !important;
  }

  #site-root,
  #masterPage,
  #SITE_CONTAINER,
  #SITE_HEADER,
  #SITE_FOOTER,
  #PAGES_CONTAINER,
  #SITE_PAGES,
  [id^="comp-"],
  [class*="wixui-"] {
    min-width: 0 !important;
  }

  #site-root,
  #masterPage,
  #SITE_CONTAINER {
    width: 100% !important;
  }

  /* B. THE KEY FIX — flatten every mesh grid child into normal flow.
     grid-area:auto stops the shared-cell overlap; margin:0 kills the pixel
     offsets (including the negatives that cause the pile-up). */
  [data-mesh-id$="-gridContainer"]>*,
  [data-mesh-id$="-gridContainer"]>interact-element>* {
    grid-area: auto !important;
    position: relative !important;
    inset: auto !important;
    left: 0 !important;
    top: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 16px !important;
    justify-self: stretch !important;
    align-self: start !important;
    transform: none !important;
  }

  /* C. let mesh containers + sections grow to their content */
  section,
  .FDI5TK,
  [data-mesh-id$="inlineContent"],
  [data-mesh-id$="inlineContent-gridContainer"] {
    height: auto !important;
    min-height: 0 !important;
    width: auto !important;
    max-width: 100% !important;
  }

  /* D. column strips stack, with a little side padding so text isn't edge-to-edge */
  .Ak0vpt {
    flex-direction: column !important;
    width: 100% !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .Ak0vpt>* {
    width: 100% !important;
    flex: none !important;
    margin: 0 0 16px !important;
  }

  /* E. repeaters (poem cards + image bubbles): one per row */
  .wixui-repeater .Exmq9 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .wixui-repeater .TmK0x,
  .wixui-repeater ._FiCX,
  .wixui-repeater .CJipV {
    width: 100% !important;
    margin: 0 !important;
  }

  [id^="comp-khtzy4mc__"] {
    width: 100% !important;
  }

  /* text cards fill the row */
  [id^="comp-l6aje2xa__"] {
    margin: 0 auto !important;
  }

  /* image bubbles stay round, centred */

  /* F. media scales to the column */
  img,
  wow-image,
  wix-bg-image {
    max-width: 100% !important;
    height: auto !important;
  }

  .W4V2qg,
  .W4V2qg .apPOZK,
  .W4V2qg .gRkIq0 {
    height: auto !important;
  }

  .W4V2qg img {
    width: 100% !important;
    height: auto !important;
  }

  /* G. hide purely-decorative vector art (aria-hidden blobs / underlines) */
  .wixui-vector-image {
    display: none !important;
  }

  /* H. form fields fill the column */
  input,
  textarea,
  .wixui-text-input,
  .wixui-text-box,
  .wixui-form {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* I. nav wraps instead of clipping; items onto their own lines on phones */
  .ht6q8b {
    position: static !important;
    white-space: normal !important;
    height: auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .HvW69V .bD16aG {
    height: auto !important;
  }

  /* J. tame the desktop-sized display type (values are set inline by Wix) */
  [style*="font-size: 93px"] {
    font-size: 16vw !important;
    line-height: 1 !important;
  }

  [style*="font-size: 88px"],
  [style*="font-size: 72px"] {
    font-size: 12vw !important;
  }

  [style*="font-size: 50px"] {
    font-size: 34px !important;
  }

  [style*="font-size: 40px"] {
    font-size: 30px !important;
  }
}

/* Phone: drop the nav to stacked lines */
@media (max-width: 500px) {
  .ht6q8b .qCNEPE {
    display: block !important;
    width: 100% !important;
  }

  .ht6q8b .qCNEPE .TuNPSe {
    line-height: 2.4 !important;
  }
}


@media (max-width: 768px) {
  #comp-l6aje2v5 {
    display: none;
  }

  .twJknM {
    margin: auto;
  }
}

@media (max-width: 768px) {
  .comp-kei3v2zd {
    width: 120px !important;
    height: 120px !important;
    margin: auto !important;
  }
}