/* ------------------------------------------------------------------
   Accessibility & responsive polish — safe, site-wide overrides.
   Loaded last so it wins. Deliberately conservative: nothing here changes
   the visual design at rest, only fixes a11y + responsive robustness.
------------------------------------------------------------------- */

/* 1. Visible keyboard focus (themes/Elementor commonly strip outlines).
      :focus-visible so it only shows for keyboard users, not mouse clicks. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
.elementor-button:focus-visible {
  outline: 3px solid #ff6f61 !important;
  outline-offset: 2px !important;
  border-radius: 3px;
}

/* 2. Responsive media safety — never overflow their container / cause h-scroll */
img,
svg,
video,
iframe {
  max-width: 100%;
}

/* 3. Honour reduced-motion for scrolling + our custom hero parallax */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .elementor-element-22c755b8 .elementor-heading-title,
  .elementor-element-12b9bab6 .elementor-heading-title { transform: none !important; }
}

/* 4. Comfortable minimum tap targets for small icon controls on touch devices
      (WCAG 2.5.5) — padding only, no layout shift at rest. */
@media (pointer: coarse) {
  .elementor-social-icon,
  .cmplz-cookiebanner .cmplz-btn,
  nav a {
    min-height: 40px;
  }
}

/* new custom blog articles (dark theme, light text) */
.aw-post{max-width:820px;margin:0 auto;color:rgba(255,255,255,.86);font-size:16px;line-height:25px;font-family:'Poppins',-apple-system,Segoe UI,Roboto,sans-serif}
.aw-post .aw-post-intro{font-size:18px;line-height:1.65;color:#fff;margin:0 0 1.4em}
.aw-post h2,.aw-post h3,.aw-post h4{color:#fff;font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;line-height:1.2em;margin:1.9em 0 .55em}
.aw-post h2{font-size:40px}
.aw-post h3{font-size:32px}
.aw-post h4{font-size:32px;letter-spacing:1.2px}
.aw-post p{margin:0 0 1.15em}
.aw-post ul,.aw-post ol{margin:0 0 1.35em;padding-left:1.25em}
.aw-post li{margin:.45em 0;padding-left:.2em}
.aw-post li::marker{color:#ff6f61}
.aw-post a{color:#ff6f61;text-decoration:underline}
.aw-post strong{color:#fff}
.aw-post .aw-post-cta{margin-top:2.6em;padding:28px 30px;background:rgba(255,111,97,.1);border:1px solid rgba(255,111,97,.4)}
.aw-post .aw-post-cta h4{margin:0 0 .4em}
.aw-post .aw-post-cta p{margin:0}
.aw-post .aw-post-cta .aw-post-btns{margin-top:16px;display:flex;gap:12px;flex-wrap:wrap}
.aw-post .aw-post-cta a{display:inline-block;background:#ff6f61;color:#162C59;padding:12px 24px;border-radius:3px;font-family:'Anton',sans-serif;font-weight:400;font-size:16px;line-height:20px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:color .3s}
.aw-post .aw-post-cta a:hover{color:#fff}
.aw-post .aw-post-cta a.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
.aw-post .aw-post-cta a.ghost:hover{border-color:#ff6f61;color:#ff6f61}

/* visually-hidden heading for SEO/AEO (SR-accessible) */
.aw-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1024px){.aw-post h2{font-size:32px}.aw-post h3,.aw-post h4{font-size:25px}}
@media(max-width:767px){.aw-post h2{font-size:26px}.aw-post h3,.aw-post h4{font-size:20px}.aw-post{font-size:14px;line-height:1.65}}

/* ================================================================
   DESIGN LAB ROLLOUT (approved 2026-08-27) + sticky header
================================================================ */

/* sticky header */
header.elementor-location-header{position:sticky;top:0;z-index:9990;background:#252525}
html{scroll-padding-top:110px}

/* (2+4) body text: #4F4F4F, 17/28 desktop, 15px floor on smaller screens */
.elementor-kit-34{--e-global-color-text:#4F4F4F;--e-global-typography-text-font-size:17px;--e-global-typography-text-line-height:28px}
@media(max-width:1024px){.elementor-kit-34{--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:25px}}
@media(max-width:767px){.elementor-kit-34{--e-global-typography-text-font-size:15px;--e-global-typography-text-line-height:25px}}

/* (1) toolkit-style cards: coral top accent + underlined titles */
[data-id="a4d6fd2"],[data-id="b4e7904"],[data-id="dec2014"],
.aw-team-card,.aw-pc-card{border-top:3px solid #FF6F61}
[data-id="a4d6fd2"] .elementor-heading-title,[data-id="b4e7904"] .elementor-heading-title,[data-id="dec2014"] .elementor-heading-title{display:inline-block;padding-bottom:10px;border-bottom:2px solid #FF6F61}
.aw-team-card h3,.aw-pc-card h3{align-self:flex-start;padding-bottom:10px;border-bottom:2px solid #FF6F61}
.aw-team-card p:not(.aw-team-role),.aw-pc-card p{font-size:17px;line-height:27px}
@media(max-width:1024px){.aw-team-card p:not(.aw-team-role),.aw-pc-card p{font-size:15px}}

/* (1) buttons: 48px targets + visible focus ring everywhere */
.elementor-button,.aw-team-btn,.aw-pc-btn,.aw-pc-btn-arrow,.awq-btn,.awq-service-btn,.aw-wd-btn,.aw-s-btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #FF6F61;outline-offset:2px}

/* (2) content-area CTA buttons stay visible on tablet/mobile (header excluded) */
@media(min-width:768px) and (max-width:1024px){[data-elementor-type="wp-page"] .elementor-widget-button.elementor-hidden-tablet{display:block !important}}
@media(max-width:767px){[data-elementor-type="wp-page"] .elementor-widget-button.elementor-hidden-mobile{display:block !important;text-align:center}}

/* (3) process step cards: 30px padding, coral left edge, number+title inline */
div.elementor-element.elementor-element-258490ef.e-con,div.elementor-element.elementor-element-35c06700.e-con,div.elementor-element.elementor-element-61982b46.e-con,div.elementor-element.elementor-element-c1c5850.e-con,
div.elementor-element.elementor-element-02fe89d.e-con,div.elementor-element.elementor-element-32f491c.e-con,div.elementor-element.elementor-element-775ad01.e-con,div.elementor-element.elementor-element-f98180a.e-con{
  --padding-top:30px !important;--padding-bottom:30px !important;--padding-left:30px !important;--padding-right:30px !important;
  --flex-direction:row !important;--flex-wrap:wrap !important;--align-items:center !important;--gap:14px 16px !important;
  border-left:3px solid #FF6F61}
div.elementor-element.elementor-element-258490ef.e-con>.e-con,div.elementor-element.elementor-element-35c06700.e-con>.e-con,div.elementor-element.elementor-element-61982b46.e-con>.e-con,div.elementor-element.elementor-element-c1c5850.e-con>.e-con,
div.elementor-element.elementor-element-02fe89d.e-con>.e-con,div.elementor-element.elementor-element-32f491c.e-con>.e-con,div.elementor-element.elementor-element-775ad01.e-con>.e-con,div.elementor-element.elementor-element-f98180a.e-con>.e-con{--width:auto !important;flex:0 0 auto}
div.elementor-element.elementor-element-258490ef.e-con>.elementor-widget-heading,div.elementor-element.elementor-element-35c06700.e-con>.elementor-widget-heading,div.elementor-element.elementor-element-61982b46.e-con>.elementor-widget-heading,div.elementor-element.elementor-element-c1c5850.e-con>.elementor-widget-heading,
div.elementor-element.elementor-element-02fe89d.e-con>.elementor-widget-heading,div.elementor-element.elementor-element-32f491c.e-con>.elementor-widget-heading,div.elementor-element.elementor-element-775ad01.e-con>.elementor-widget-heading,div.elementor-element.elementor-element-f98180a.e-con>.elementor-widget-heading{width:auto;flex:1 1 0;min-width:0;margin:0}
div.elementor-element.elementor-element-258490ef.e-con>.elementor-widget-text-editor,div.elementor-element.elementor-element-35c06700.e-con>.elementor-widget-text-editor,div.elementor-element.elementor-element-61982b46.e-con>.elementor-widget-text-editor,div.elementor-element.elementor-element-c1c5850.e-con>.elementor-widget-text-editor,
div.elementor-element.elementor-element-02fe89d.e-con>.elementor-widget-text-editor,div.elementor-element.elementor-element-32f491c.e-con>.elementor-widget-text-editor,div.elementor-element.elementor-element-775ad01.e-con>.elementor-widget-text-editor,div.elementor-element.elementor-element-f98180a.e-con>.elementor-widget-text-editor{flex-basis:100%}

/* Elementor Pro popups can't run without the WP backend — the "BOOK A FREE
   STRATEGIC CALL" popup markup was rendering inline at the page bottom.
   Every booking CTA links straight to the calendar, so hide popups entirely. */
div[data-elementor-type="popup"]{display:none !important}

/* Hide ALL legacy Complianz consent UI (replaced by the aw-cookie banner) */
#cmplz-cookiebanner-container,.cmplz-cookiebanner,#cmplz-manage-consent,
.cmplz-manage-consent,.cmplz-soft-cookiewall,.cmplz-blocked-content-notice{display:none !important}
