/* ===== Australia HellSpin custom layer ===== */

/* Logo image (replaces text logo) */
.pw-logo-img { height: 34px; width: auto; display: block; }
.ea38-logo-wrap .pw-logo-img { height: 44px; margin: 0 auto; }

/* ----- Prose blocks (exact docx copy) ----- */
.au-prose { max-width: 900px; margin: 0 auto; }
.au-prose.au-wide { max-width: 1180px; }
.au-h2 { margin: 0 0 18px; }
.au-lead { font-size: 1.02rem; line-height: 1.7; color: var(--c-text-muted); margin: 0 0 22px; }
.au-p { font-size: 15px; line-height: 1.75; color: var(--c-text-muted); margin: 0 0 16px; }
.au-h3 { font-size: 1.18rem; font-weight: 800; color: var(--c-text); margin: 26px 0 12px; }
.au-list, .au-steps { margin: 0 0 18px; padding-left: 0; list-style: none; }
.au-list li, .au-steps li { position: relative; padding-left: 30px; margin-bottom: 11px; font-size: 15px; line-height: 1.65; color: var(--c-text-muted); }
.au-list li::before { content: ""; position: absolute; left: 6px; top: 10px; width: 8px; height: 8px; border-radius: 50%; background: var(--c-accent); }
.au-steps { counter-reset: au-step; }
.au-steps li { counter-increment: au-step; padding-left: 40px; min-height: 26px; padding-top: 1px; }
.au-steps li::before { content: counter(au-step); position: absolute; left: 0; top: 0; width: 26px; height: 26px; border-radius: 50%; background: var(--c-accent); color: var(--c-bg); font-weight: 800; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.au-prose strong { color: var(--c-text); }

/* Decorative image strips inside content (no caption text) */
.au-imgstrip { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 18px 0 6px; }
.au-imgstrip img { width: 100%; height: auto; border-radius: 10px; display: block; }
.au-provstrip { display: flex; flex-wrap: wrap; gap: 22px 34px; align-items: center; justify-content: center; margin: 14px 0 4px; }
.au-provstrip img { height: 34px; width: auto; opacity: .85; }
@media (max-width: 720px) { .au-imgstrip { grid-template-columns: repeat(3, 1fr); } }

/* ----- Tables: never scroll horizontally on desktop ----- */
@media (min-width: 1000px) {
  .dy15-scroll { overflow-x: visible; }
  .dy15-table { min-width: 0; width: 100%; }
}
/* spacing so following text never sticks to the table */
.au-prose .dy15-scroll { margin: 10px 0 28px; }
.au-prose .dy15-scroll + .au-p,
.au-prose .dy15-scroll + .au-h3 { margin-top: 4px; }

/* compact variant for wide tables so they fit the desktop container */
.dy15-table.dy15-compact thead th { padding: 12px 11px; font-size: 0.6rem; letter-spacing: 0.04em; }
.dy15-table.dy15-compact tbody td { padding: 11px 11px; font-size: 12.5px; }
.dy15-table.dy15-compact tbody td:first-child { padding-left: 13px; }
@media (min-width: 1000px) { .dy15-table.dy15-compact { table-layout: auto; } }

/* ----- Mobile header: hide inline nav + Log In/Register, keep hamburger ----- */
@media (max-width: 768px) {
  body .pw-header .h18_nav-scroller { display: none !important; }
  body .pw-header .h18_cta-desktop { display: none !important; }
  body .pw-header .h18_menu-btn { display: flex !important; }
  /* push the hamburger to the right edge */
  body .pw-header .h18_cta-area { margin-left: auto; border-left: none; padding-left: 0; }
  /* center the links inside the mobile menu */
  .pw-mobile-nav .pw-nav { align-items: center; }
  .pw-mobile-nav .pw-nav .pw-nav-link { display: inline-block; width: auto; text-align: center; }
  /* hover underline only as wide as the text, not the full row */
  .pw-nav-hover-10 .pw-mobile-nav .pw-nav > .pw-nav-link::after { left: 14px; right: 14px; }
}

/* ----- Mobile banners: keep text readable over the artwork ----- */
@media (max-width: 768px) {
  /* frosted dark glass panel behind the banner copy */
  body .kt19-content,
  body .rm31-content,
  body .fd26-frame {
    background: rgba(10, 12, 16, 0.62) !important;
    -webkit-backdrop-filter: blur(7px);
    backdrop-filter: blur(7px);
    border-radius: 14px;
  }
}

/* up to 450px: centre the frosted glass panel inside the banner */
@media (max-width: 450px) {
  body .fd26-card,
  body .kt19-card,
  body .rm31-card { justify-content: center !important; }
  body .fd26-frame,
  body .kt19-content,
  body .rm31-content {
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
  }
  body .rm31-cta-row { justify-content: center; }
}

/* Scroll-to-top button */
.au-totop {
  position: fixed; right: 22px; bottom: 22px; z-index: 60;
  width: 48px; height: 48px; border: none; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: var(--c-accent); color: var(--c-bg);
  box-shadow: 0 8px 24px -6px color-mix(in srgb, var(--c-accent) 60%, transparent);
  opacity: 0; visibility: hidden; transform: translateY(14px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}
.au-totop.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.au-totop:hover { filter: brightness(1.08); }
.au-totop svg { width: 22px; height: 22px; }
@media (max-width: 600px) { .au-totop { right: 14px; bottom: 14px; width: 44px; height: 44px; } }

/* Last-updated meta line */
.au-meta { max-width: 900px; margin: 22px auto 0; font-size: 13px; color: var(--c-text-muted); opacity: .85; }
.au-meta span { color: var(--c-text); }
