/* New Waves production readiness/accessibility layer. Safe defaults only. */
.screen-reader-text,
.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.screen-reader-text:focus,
.skip-link:focus {
    position: fixed !important;
    top: 12px;
    left: 12px;
    z-index: 100000;
    width: auto !important;
    height: auto !important;
    padding: 12px 16px !important;
    clip: auto !important;
    overflow: visible !important;
    border-radius: 8px;
    background: #111;
    color: #fff;
    text-decoration: none;
}

body.nwaves-keyboard-navigation :focus-visible,
body.nwaves-keyboard-navigation a:focus,
body.nwaves-keyboard-navigation button:focus,
body.nwaves-keyboard-navigation input:focus,
body.nwaves-keyboard-navigation select:focus,
body.nwaves-keyboard-navigation textarea:focus {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

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

iframe,
embed,
object,
.wp-block-embed__wrapper iframe {
    max-width: 100%;
}

pre,
code,
kbd,
samp {
    overflow-wrap: anywhere;
}

.wp-block-table,
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.wp-block-button__link,
.btn,
button,
input[type="button"],
input[type="submit"] {
    min-height: 44px;
}

.nwaves-content-card,
.nwaves-panel,
.wp-block-group.is-style-nwaves-panel {
    contain: layout paint;
}

.external-link-indicator[rel~="noopener"]::after {
    content: "↗";
    margin-inline-start: .25em;
    font-size: .875em;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

@media print {
    .site-header,
    .site-footer,
    .menu-toggle,
    .toggle-social,
    .woocommerce-notices-wrapper,
    .no-print {
        display: none !important;
    }
    a[href]::after {
        content: " (" attr(href) ")";
        font-size: .85em;
    }
}

/* Continued production layer: content resilience and print/readability polish. */
.nwaves-print-ready .entry-content a,
.nwaves-print-ready .post-content a,
.nwaves-print-ready main a {
  overflow-wrap: anywhere;
}

.nwaves-child-production-ready table,
.nwaves-child-production-ready .table,
.nwaves-child-production-ready .wp-block-table {
  max-width: 100%;
}

.nwaves-child-production-ready .wp-block-button__link,
.nwaves-child-production-ready button,
.nwaves-child-production-ready input[type="submit"] {
  min-height: 42px;
}

.nwaves-child-production-ready :where(.wp-block-group.is-style-nwaves-panel, .nwaves-ai-card, .nwaves-content-card) {
  contain: layout paint;
}

.nwaves-child-production-ready iframe[src*="youtube"],
.nwaves-child-production-ready iframe[src*="vimeo"],
.nwaves-child-production-ready .wp-block-embed__wrapper iframe {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

@media print {
  .nwaves-print-ready header,
  .nwaves-print-ready footer,
  .nwaves-print-ready nav,
  .nwaves-print-ready .sidebar,
  .nwaves-print-ready .site-header,
  .nwaves-print-ready .site-footer,
  .nwaves-print-ready .mobile-menu,
  .nwaves-print-ready .comments-area {
    display: none !important;
  }
  .nwaves-print-ready body,
  .nwaves-print-ready main,
  .nwaves-print-ready article {
    color: #000 !important;
    background: #fff !important;
  }
  .nwaves-print-ready a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
  }
}

/* Multilingual / WPML production polish */
.nwaves-child-wpml-ready .wpml-ls,
.nwaves-child-wpml-ready .wpml-ls ul {
  max-width: 100%;
}

.nwaves-child-wpml-ready .wpml-ls a {
  text-decoration-thickness: .08em;
  text-underline-offset: .16em;
}

.nwaves-child-wpml-ready [lang="ar"],
html[lang^="ar"] .nwaves-child-production-ready {
  text-wrap: pretty;
}

.nwaves-child-wpml-ready .wpml-ls-current-language > a,
.nwaves-child-wpml-ready .wpml-ls-current-language > span {
  font-weight: 700;
}

.nwaves-child-wpml-ready .wpml-ls a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: .25rem;
}

@media (max-width: 767px) {
  .nwaves-child-wpml-ready .wpml-ls {
    overflow-wrap: anywhere;
  }
}

/* AI availability and editor-comfort polish carried from Westbay production layer. */
.nwaves-ai-availability-ready .entry-content,
.nwaves-ai-availability-ready .post-content,
.nwaves-ai-availability-ready .page-content {
    overflow-wrap: anywhere;
}

.nwaves-child-production-ready :where(.wp-block-image img, .wp-block-media-text__media img, .woocommerce-product-gallery img) {
    max-width: 100%;
    height: auto;
}

.nwaves-child-production-ready :where(summary, [role="button"], .menu-toggle, .navbar-toggler) {
    cursor: pointer;
}

.nwaves-child-production-ready :where(summary, [role="button"], .menu-toggle, .navbar-toggler):focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

.nwaves-child-production-ready .wp-block-code,
.nwaves-child-production-ready pre {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 782px) {
    .nwaves-child-production-ready :where(.container, .container-fluid) {
        max-width: 100%;
    }
}
