/* Parwan — whole-site responsiveness · wave339 · load LAST */

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

img,
video,
iframe,
canvas,
svg {
  max-width: 100%;
  height: auto;
}

.page-home .pw-hm-origin__img,
.page-inner .pj-sharp-img,
.page-inner .ab-cine-hero img {
  height: 100%;
}

.page-home .pw-hm-origin__img {
  height: 100% !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.container,
.pw-header__row,
.wave-below,
main,
section {
  max-width: 100%;
}

.mx-marquee,
.pw-marquee-pro,
[class*="marquee"] {
  overflow: hidden !important;
  max-width: 100%;
}

/* ============================================================
   HEADER — floating bar + working mobile drawer
   ============================================================ */
@media (max-width: 1080px) {
  .page-home .pw-hm-header-shell,
  .page-inner .pw-hm-header-shell {
    top: 10px !important;
    left: 10px !important;
    right: 10px !important;
    z-index: 3000 !important;
  }

  .page-home .pw-hm-header.site-header,
  .page-inner .pw-hm-header.site-header {
    padding: 0 12px !important;
  }

  .page-home .pw-hm-header .pw-header__row.nav-wrap,
  .page-inner .pw-hm-header .pw-header__row.nav-wrap {
    min-height: 64px !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }

  .page-home .pw-hm-header .nav-toggle,
  .page-inner .pw-hm-header .nav-toggle,
  .pw-hm-header .nav-toggle {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px;
    border: 1px solid #eadfca !important;
    border-radius: 12px !important;
    background: #fffcf7 !important;
    z-index: 3010 !important;
    flex-shrink: 0 !important;
    cursor: pointer;
  }

  .page-home .pw-hm-header .nav-toggle span,
  .page-inner .pw-hm-header .nav-toggle span {
    background: #2d3238 !important;
  }

  .page-home .pw-hm-header .nav-links,
  .page-inner .pw-hm-header .nav-links,
  .pw-hm-header .nav-links {
    position: fixed !important;
    top: 84px !important;
    left: 10px !important;
    right: 10px !important;
    bottom: auto !important;
    width: auto !important;
    max-height: min(78dvh, calc(100dvh - 100px)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    flex: none !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 14px !important;
    background: #fffcf7 !important;
    border: 1px solid #eadfca !important;
    border-radius: 16px !important;
    box-shadow: 0 22px 50px rgba(45, 50, 56, 0.2) !important;
    transform: translateY(-12px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    z-index: 4000 !important;
  }

  .page-home .pw-hm-header .nav-links.open,
  .page-inner .pw-hm-header .nav-links.open,
  .pw-hm-header .nav-links.open {
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .page-home .pw-hm-header .nav-links > a,
  .page-inner .pw-hm-header .nav-links > a,
  .page-home .pw-hm-header .nav-more-btn,
  .page-inner .pw-hm-header .nav-more-btn {
    width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
    padding: 13px 14px !important;
    font-size: 1rem !important;
    color: #2d3238 !important;
    border-radius: 10px !important;
  }

  .page-home .pw-hm-header .nav-more,
  .page-inner .pw-hm-header .nav-more {
    display: block !important;
    width: 100%;
  }

  .page-home .pw-hm-header .nav-more-menu,
  .page-inner .pw-hm-header .nav-more-menu {
    position: static !important;
    display: none !important;
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 0 8px 12px !important;
    background: transparent !important;
  }

  .page-home .pw-hm-header .nav-more.open .nav-more-menu,
  .page-inner .pw-hm-header .nav-more.open .nav-more-menu {
    display: block !important;
  }

  .page-home .pw-hm-header .nav-links .nav-cta,
  .page-inner .pw-hm-header .nav-links .nav-cta,
  .page-home .pw-nav-cta-mobile,
  .page-inner .pw-nav-cta-mobile {
    display: inline-flex !important;
    justify-content: center !important;
    margin-top: 8px !important;
    width: 100% !important;
    min-height: 46px !important;
    color: #fff !important;
    background: #2d3238 !important;
    border-radius: 999px !important;
  }

  .page-inner .pj-journal-hero {
    padding-top: calc(88px + 1.4rem) !important;
  }

  .page-inner .ab-cine-hero,
  .page-inner .pw-page-hero,
  .page-inner .wave-page-hero,
  .page-inner .sv-hero,
  .page-inner .ct-hero,
  .page-inner .ow-hero,
  .page-inner .st-hero,
  .page-inner .sc-hero-band {
    padding-top: 100px !important;
  }
}

body.nav-open {
  overflow: hidden;
}

@media (max-width: 720px) {
  .page-home .pw-logo__text,
  .page-inner .pw-logo__text {
    display: none !important;
  }

  .page-home .pw-hm-header .brand img,
  .page-inner .pw-hm-header .brand img,
  .pw-hm-header .brand img {
    height: 44px !important;
    max-height: 44px !important;
    max-width: min(160px, 52vw) !important;
  }

  .page-home .pw-hm-header .nav-links,
  .page-inner .pw-hm-header .nav-links,
  .pw-hm-header .nav-links {
    top: 76px !important;
  }
}

/* ============================================================
   TYPE + SPACING
   ============================================================ */
@media (max-width: 900px) {
  .page-home h1,
  .page-inner h1 {
    font-size: clamp(1.7rem, 7vw, 2.6rem) !important;
    line-height: 1.15 !important;
    overflow-wrap: break-word;
  }

  .page-home h2,
  .page-inner h2 {
    font-size: clamp(1.35rem, 5.4vw, 2.1rem) !important;
    line-height: 1.2 !important;
  }

  .page-home .container,
  .page-inner .container,
  .page-wave .container {
    width: min(100% - 1.5rem, 1180px) !important;
    padding-inline: 0 !important;
  }
}

@media (max-width: 640px) {
  .page-home .container,
  .page-inner .container,
  .page-wave .container {
    width: min(100% - 1.1rem, 100%) !important;
  }

  .page-inner .pj-journal-hero {
    padding-top: calc(80px + 1.1rem) !important;
    padding-bottom: 2.2rem !important;
  }

  .page-inner .ab-cine-hero {
    min-height: 0 !important;
  }

  .page-inner .ct-hero,
  .page-inner .ow-hero,
  .page-inner .st-hero,
  .page-inner .sc-hero-band {
    padding-left: 0.85rem;
    padding-right: 0.85rem;
  }
}

/* ============================================================
   HOME — hero
   ============================================================ */
.page-home .pw-hm-origin {
  aspect-ratio: 905 / 383;
}

@media (max-width: 1080px) {
  .page-home .pw-hm-origin {
    aspect-ratio: 2.15 / 1 !important;
    min-height: 0 !important;
  }

  .page-home .pw-hm-origin__img {
    object-position: center 36% !important;
  }
}

@media (max-width: 720px) {
  .page-home .pw-hm-origin {
    aspect-ratio: 16 / 10 !important;
    min-height: 220px !important;
  }

  .page-home .pw-hm-origin__img {
    object-position: center 32% !important;
  }
}

@media (max-width: 480px) {
  .page-home .pw-hm-origin {
    aspect-ratio: 5 / 4 !important;
    min-height: 240px !important;
  }

  .page-home .pw-hm-origin__img {
    object-position: center 28% !important;
  }
}

/* ============================================================
   HOME — sections
   ============================================================ */
@media (max-width: 900px) {
  .page-home .pw-sl-about__grid,
  .page-home .pw-svc-pro__grid,
  .page-home .pw-trio__grid,
  .page-home .pw-about-pro__grid,
  .page-home .pw-stats-pro__grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .page-home .pw-rehab-trust,
  .page-home .pw-rehab-trust--pro {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0.7rem !important;
    padding-inline: 0.85rem !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .page-home .pw-rehab-trust__item {
    width: 100% !important;
    max-width: 100% !important;
  }

  .page-home .pw-sl-about--pro .pw-sl-about__main--infographic {
    max-width: min(100%, 480px) !important;
    margin-inline: auto;
  }

  .page-home .pw-sl-about__main--infographic img {
    max-height: min(56vh, 520px) !important;
  }
}

@media (max-width: 640px) {
  .page-home .pw-rehab-trust,
  .page-home .pw-rehab-trust--pro {
    grid-template-columns: 1fr !important;
  }

  .page-home a[class*="btn"],
  .page-home .pw-sl-banner__btn,
  .page-home .pw-salon-hero__btn,
  .page-home .pw-hm-bridge__btn {
    min-height: 46px;
    width: 100%;
    justify-content: center;
  }

  .page-home .pw-sl-banner,
  .page-home .pw-hm-banner-pro {
    padding-inline: 0.9rem !important;
    background-attachment: scroll !important;
  }

  .page-home .pw-hm-bridge__title {
    font-size: clamp(1.22rem, 6.4vw, 1.75rem) !important;
    line-height: 1.25 !important;
  }

  .page-home .pw-hm-bridge__title em {
    display: inline !important;
  }

  .page-home .pw-hm-bridge__actions {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
  }

  .page-home .pw-hm-bridge__pills {
    gap: 0.35rem;
  }

  .page-home .pw-hm-voices__stage {
    padding: 1rem 0.85rem !important;
    margin-inline: 0.4rem;
  }
}

/* How We Help — 2 cols on tablet, 1 on small phones */
@media (max-width: 520px) {
  .page-home #programmes .pw-pro-programs__grid,
  .page-home .pw-pro-programs__grid,
  .page-home .pw-sl-programs__grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .page-home #programmes .pw-pro-program__thumb {
    height: 180px !important;
  }
}

@media (max-width: 520px) {
  .page-home #programmes .pw-pro-program__thumb {
    height: 210px !important;
  }
}

@media (max-width: 768px) {
  .page-home .pw-hm-sad-mosaic__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   INNER PAGES
   ============================================================ */
@media (max-width: 900px) {
  .page-inner .pj-journal-hero__grid,
  .page-inner .pj-journal-hero__spread,
  .page-inner .ab-cine-hero__grid,
  .page-inner .ow-stages,
  .page-inner .ct-channels,
  .page-inner .sc-services [class*="grid"] {
    grid-template-columns: 1fr !important;
  }

  .page-inner .pj-journal-hero__spread {
    margin-top: 1.25rem;
  }

  .page-inner .pj-journal-hero__frame {
    min-height: 220px !important;
    width: 100% !important;
  }

  .page-inner .ab-cine-hero__content {
    padding-inline: 1rem !important;
  }

  .page-inner .ab-cine-hero__stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 0.4rem !important;
    font-size: 0.78rem;
  }

  .page-inner .sc-services,
  .page-inner .st-voices-wall,
  .page-inner .ct-reach {
    display: block;
  }
}

@media (max-width: 640px) {
  .page-inner .ab-cine-hero__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    text-align: center;
  }

  .page-inner .pj-journal-hero__actions,
  .page-inner .ab-cine-hero__actions,
  .page-inner .ct-hero [class*="actions"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.65rem !important;
  }

  .page-inner .pj-journal-hero__actions a,
  .page-inner .ab-cine-hero__actions a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .page-inner .pj-journal-hero__stats {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 0.45rem !important;
  }
}

/* ============================================================
   FORMS / FAQ / TABLES
   ============================================================ */
@media (max-width: 720px) {
  .page-inner input,
  .page-inner textarea,
  .page-inner select,
  .page-inner button[type="submit"] {
    width: 100%;
    max-width: 100%;
    font-size: 16px !important;
  }

  .page-inner .faq-item,
  .page-inner [class*="faq"] button {
    text-align: left;
    width: 100%;
  }

  table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
  }
}

/* ============================================================
   FOOTER + FLOATING UI
   ============================================================ */
@media (max-width: 720px) {
  .pw-footer-pro .footer-grid,
  .pw-footer-pro__head {
    grid-template-columns: 1fr !important;
    text-align: left !important;
  }

  .pw-footer-pro .footer-bottom {
    flex-direction: column;
    align-items: flex-start !important;
  }

  .floating-cta {
    right: 12px !important;
    bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  }

  .mobile-action-bar {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* ============================================================
   TABLET
   ============================================================ */
@media (min-width: 641px) and (max-width: 1080px) {
  .page-home .pw-rehab-trust--pro,
  .page-inner .pj-journal-hero__spread {
    grid-template-columns: 1fr 1fr !important;
  }

  .page-home #programmes .pw-pro-programs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* ============================================================
   VERY SMALL PHONES
   ============================================================ */
@media (max-width: 380px) {
  .page-home .pw-hm-header-shell,
  .page-inner .pw-hm-header-shell {
    left: 6px !important;
    right: 6px !important;
    top: 8px !important;
  }

  .page-inner .pj-journal-hero__stats {
    grid-template-columns: 1fr !important;
  }
}

/* Home About infographic */
.page-home .pw-sl-about--pro .pw-sl-about__main--infographic {
  max-width: 540px !important;
  width: 100%;
}

.page-home .pw-sl-about__main--infographic img {
  max-height: min(72vh, 720px) !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

.page-home #programmes .pw-pro-program__thumb {
  height: 248px !important;
}

.page-home #programmes .pw-pro-program__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.page-home .pw-hm-video-clean__inner {
  max-width: 1120px !important;
}

.page-home .pw-hm-video-clean__list {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 22px !important;
}

.page-home .pw-hm-video-clean__item {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  padding: 0 !important;
  gap: 0 !important;
}

.page-home .pw-hm-video-clean__thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.page-home .pw-hm-video-clean__play {
  opacity: 1 !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  width: 72px !important;
  height: 72px !important;
  transform: translate(-50%, -50%) !important;
}

.page-home .pw-hm-video-clean__item:hover .pw-hm-video-clean__play,
.page-home.pw-hm-sad-animated .pw-hm-video-clean__item:hover .pw-hm-video-clean__play {
  transform: translate(-50%, -50%) scale(1.08) !important;
}

@media (max-width: 800px) {
  .page-home .pw-hm-video-clean__list {
    grid-template-columns: 1fr !important;
  }
}
