/* ==========================================================================
   REWORQ site chrome — header + footer. Mobile-first.
   Replaces the Elementor theme-builder header/footer. Light theme, brand kit
   (navy ink + orange accent). Button uses the accessible deepened orange
   (#c0552a) so white button text keeps AA contrast.
   ========================================================================== */
:root{
  --rw-orange:#E77249;
  --rw-orange-solid:#c0552a;
  --rw-text:#16223d;
  --rw-muted:#5a6472;
  --rw-line:#e6e9ef;
  --rw-header-bg:rgba(255,255,255,.88);
  --rw-nav-bg:rgba(255,255,255,.98);
  --rw-footer-bg:#f5f7fa;
  --rw-max:1200px;
  --rw-hh:64px; /* header height (mobile) */
}
.rw-header,.rw-footer{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--rw-text);-webkit-font-smoothing:antialiased;box-sizing:border-box;}
.rw-header *,.rw-footer *{box-sizing:border-box;}
.rw-container{width:min(calc(100% - 32px),var(--rw-max));margin-inline:auto;}

/* ---------- HEADER (mobile base) ---------- */
.rw-header{position:sticky;top:0;z-index:9999;background:var(--rw-header-bg);border-bottom:1px solid var(--rw-line);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);}
.rw-header-inner{min-height:var(--rw-hh);display:flex;align-items:center;justify-content:space-between;gap:12px;}
.rw-logo{color:var(--rw-text);font-size:22px;font-weight:800;line-height:1;letter-spacing:-.055em;text-decoration:none;flex-shrink:0;}
.rw-logo span{color:var(--rw-orange);}
.rw-actions{display:flex;align-items:center;gap:10px;}

/* nav: full-width dropdown overlay on mobile */
.rw-nav{position:fixed;left:0;right:0;top:var(--rw-hh);display:none;padding:6px 0 20px;background:var(--rw-nav-bg);border-bottom:1px solid var(--rw-line);box-shadow:0 24px 44px rgba(16,34,61,.08);max-height:calc(100dvh - var(--rw-hh));overflow-y:auto;-webkit-overflow-scrolling:touch;}
.rw-nav.open{display:block;}
.rw-nav .rw-menu,.rw-nav ul{list-style:none;margin:0;padding:0;}
.rw-nav .current-menu-item>a{opacity:.55;}
/* WPML injects its own language switcher <li> — we have a dedicated box. */
.rw-nav .menu-item-language{display:none !important;}
.rw-nav li{border-bottom:1px solid var(--rw-line);}
.rw-nav a{display:block;padding:15px 16px;font-size:16px;font-weight:500;color:var(--rw-text);text-decoration:none;transition:opacity .18s,background .18s;}
/* submenus: shown inline + indented on mobile */
.rw-nav .sub-menu{background:rgba(16,34,61,.025);}
.rw-nav .sub-menu li{border-bottom:1px solid var(--rw-line);}
.rw-nav .sub-menu li:last-child{border-bottom:0;}
.rw-nav .sub-menu a{padding:13px 16px 13px 32px;font-size:15px;font-weight:400;color:var(--rw-muted);}
.rw-nav .sub-menu a:hover{color:var(--rw-text);}
/* third level, indented further on mobile */
.rw-nav .sub-menu .sub-menu{background:rgba(16,34,61,.04);}
.rw-nav .sub-menu .sub-menu a{padding-left:48px;font-size:14.5px;}

/* virtual-office CTA in the mobile menu */
.rw-vo-mobile{display:flex !important;margin:18px 16px 4px;}

/* language switcher — modern segmented box (shown at every size) */
.rw-lang{display:inline-flex;align-items:center;gap:2px;background:#eceff4;border:1px solid var(--rw-line);border-radius:11px;padding:3px;flex-shrink:0;}
.rw-lang-opt{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:6px 10px;border-radius:8px;font-size:12.5px;font-weight:700;letter-spacing:.01em;color:var(--rw-muted);text-decoration:none;transition:color .15s,background .15s,box-shadow .15s;}
.rw-lang-opt:hover{color:var(--rw-text);}
.rw-lang-opt.is-active{background:#fff;color:var(--rw-text);box-shadow:0 1px 3px rgba(16,34,61,.16);}

/* virtual-office CTA (desktop, in the actions bar) */
.rw-vo{display:inline-flex;min-height:40px;align-items:center;justify-content:center;padding:0 16px;color:#fff !important;background:var(--rw-orange-solid);border-radius:11px;font-size:13.5px;font-weight:650;text-decoration:none;white-space:nowrap;box-shadow:0 4px 14px rgba(192,85,42,.26);transition:transform .18s,box-shadow .18s;}
.rw-vo:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(192,85,42,.34);}
.rw-vo:active{transform:translateY(0);}
.rw-vo-desktop{display:none;}

/* hamburger — phone + tablet only */
.rw-toggle{display:inline-flex;width:42px;height:42px;margin-right:-8px;align-items:center;justify-content:center;border:0;background:none;color:var(--rw-text);cursor:pointer;}
.rw-toggle i,.rw-toggle i:before,.rw-toggle i:after{display:block;width:20px;height:1.6px;background:currentColor;transition:transform .2s,top .2s,background .2s;}
.rw-toggle i{position:relative;}
.rw-toggle i:before,.rw-toggle i:after{position:absolute;left:0;content:"";}
.rw-toggle i:before{top:-6px;}
.rw-toggle i:after{top:6px;}
.rw-toggle[aria-expanded=true] i{background:transparent;}
.rw-toggle[aria-expanded=true] i:before{top:0;transform:rotate(45deg);}
.rw-toggle[aria-expanded=true] i:after{top:0;transform:rotate(-45deg);}

.rw-header a:focus-visible,.rw-footer a:focus-visible,.rw-toggle:focus-visible{outline:2px solid var(--rw-orange-solid);outline-offset:3px;border-radius:4px;}

/* ---------- tablet ≥680 ---------- */
@media(min-width:680px){
  .rw-container{width:min(calc(100% - 48px),var(--rw-max));}
}

/* ---------- desktop ≥1024: inline nav, no hamburger ---------- */
@media(min-width:1024px){
  :root{--rw-hh:76px;}
  .rw-header-inner{gap:30px;}
  .rw-logo{font-size:24px;}
  .rw-actions{gap:22px;}

  .rw-toggle{display:none !important;}
  .rw-vo-mobile{display:none !important;}
  .rw-vo-desktop{display:inline-flex;}

  .rw-nav{position:static !important;display:flex !important;align-items:center;padding:0;background:none;border:0;box-shadow:none;max-height:none;overflow:visible;}
  .rw-nav .rw-menu{display:flex;align-items:center;gap:28px;}
  .rw-nav .rw-menu > li{position:relative;border:0;}
  .rw-nav .rw-menu > li > a{padding:0;font-size:14px;}
  .rw-nav .rw-menu > li > a:hover{opacity:.55;}

  /* dropdown parent affordance */
  .rw-nav .menu-item-has-children > a{display:inline-flex;align-items:center;gap:7px;}
  .rw-nav .menu-item-has-children > a::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.55;}

  /* dropdown panel */
  .rw-nav .sub-menu{position:absolute;top:calc(100% + 14px);left:-14px;min-width:230px;background:#fff;border:1px solid var(--rw-line);border-radius:14px;box-shadow:0 18px 40px rgba(16,34,61,.13);padding:8px;display:none;flex-direction:column;gap:1px;}
  /* invisible hover bridge so the panel doesn't close over the gap */
  .rw-nav .menu-item-has-children::before{content:"";position:absolute;top:100%;left:0;right:0;height:16px;display:none;}
  .rw-nav .menu-item-has-children:hover::before,.rw-nav .menu-item-has-children:focus-within::before{display:block;}
  .rw-nav .menu-item-has-children:hover > .sub-menu,.rw-nav .menu-item-has-children:focus-within > .sub-menu{display:flex;}
  .rw-nav .sub-menu li{border:0;position:relative;}
  .rw-nav .sub-menu a{padding:10px 12px;border-radius:9px;font-size:13.5px;font-weight:500;color:var(--rw-text);white-space:nowrap;}
  .rw-nav .sub-menu a:hover{background:rgba(16,34,61,.05);color:var(--rw-text);}

  /* third level — flyout to the side */
  .rw-nav .sub-menu .menu-item-has-children > a{display:flex;align-items:center;justify-content:space-between;gap:14px;}
  .rw-nav .sub-menu .menu-item-has-children > a::after{content:"";flex-shrink:0;width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(-45deg);opacity:.5;}
  /* third-level flyout: same white panel as the first, reset the mobile indent */
  .rw-nav .sub-menu .sub-menu{top:-9px;left:calc(100% - 2px);background:#fff;}
  .rw-nav .sub-menu .sub-menu a{padding:10px 12px;font-size:13.5px;}
}

/* ---------- FOOTER (mobile base) ---------- */
.rw-footer{background:var(--rw-footer-bg);border-top:1px solid var(--rw-line);}
.rw-footer-main{display:grid;grid-template-columns:1fr;gap:38px;padding:48px 0 40px;}
.rw-footer-brand .rw-logo{font-size:24px;}
.rw-tagline{max-width:360px;margin:18px 0 20px;color:var(--rw-muted);font-size:14.5px;line-height:1.6;}
.rw-cert{margin:0;font-size:13px;font-weight:600;}
.rw-footer h2{margin:0 0 16px;font-size:13px;font-weight:700;}
.rw-footer ul{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.rw-footer a,.rw-address{color:var(--rw-muted);font-size:14px;line-height:1.5;text-decoration:none;}
.rw-footer a{transition:color .18s;}
.rw-footer a:hover{color:var(--rw-text);}
.rw-address{margin:0;font-style:normal;}
.rw-footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:22px 0;border-top:1px solid var(--rw-line);color:var(--rw-muted);font-size:12px;}
.rw-legal{display:flex;flex-wrap:wrap;gap:16px;}

/* ---------- FOOTER (tablet ≥680) ---------- */
@media(min-width:680px){
  .rw-footer-main{grid-template-columns:1fr 1fr;gap:40px 48px;padding:60px 0 48px;}
  .rw-footer-brand{grid-column:1 / -1;}
}

/* ---------- FOOTER (desktop ≥1024) ---------- */
@media(min-width:1024px){
  .rw-footer-main{grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(140px,.75fr));gap:64px;padding:72px 0 56px;}
  .rw-footer-brand{grid-column:auto;}
  .rw-footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;min-height:72px;}
}

@media(prefers-reduced-motion:reduce){
  .rw-header *,.rw-footer *{transition:none !important;}
}
