/* LeTraducteur.org v1.9.4 — mobile/header deep-audit hardening
   Goals: one stable framed control per header item, larger readable logo,
   no first-paint blank search icon, no wrapped buyer strip on phones,
   restrained mobile hero typography, RTL-safe full-width geometry. */


/* Morocco brand-color recovery: remove inherited LeTraducteur.org orange from active UI/text accents. */
:root{--tx-orange:#006233!important;--tx-orange-2:#0b8a50!important;--tx-orange-dark:#004b27!important;--brand:#006233!important;--brand-dark:#004b27!important}
.v585-hero-copy h1 em,.v585-eyebrow,.txq-kicker,.tx-ie-kicker{color:#006233!important}
.v585-btn.primary,.tx-ie-btn.primary,.tx-sticky-mobile-quote{background:#006233!important;border-color:#006233!important;color:#fff!important}
.v585-btn.primary:hover,.tx-ie-btn.primary:hover,.tx-sticky-mobile-quote:hover{background:#004b27!important;border-color:#004b27!important}

/* Header control system: dark translucent frames, never opaque white cards. */
.tx-global-header-v26 .txh-frame-brand,
.tx-global-header-v26 .txh-frame-menu,
.tx-global-header-v26 .txgh-actions.txh-frame-search{
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(0,24,44,.10)!important;
  overflow:hidden!important;
}
.tx-global-header-v26 .txh-frame-brand>.txgh-logo{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:100%!important;padding:3px 5px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
.tx-global-header-v26 .txh-frame-brand>.txgh-logo img.tx-brand-logo,
.tx-global-header-v26 .txgh-logo .tx-brand-logo{
  display:block!important;width:auto!important;height:auto!important;
  max-width:146px!important;max-height:68px!important;object-fit:contain!important;
  background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;
  filter:drop-shadow(0 1px 1px rgba(255,255,255,.18))!important;
}

/* Morocco and International are independent controls, not one joined pill. */
.tx-global-header-v26 .txh-frame-market{
  background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;
}
.tx-global-header-v26 .tx-market-dual{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  width:100%!important;white-space:nowrap!important;
}
.tx-global-header-v26 .tx-market-dual .tx-market-sep{display:none!important}
.tx-global-header-v26 .tx-market-dual .tx-market-choice{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;
  min-width:54px!important;min-height:48px!important;padding:5px 8px!important;
  color:#fff!important;background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.24)!important;border-radius:15px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;text-decoration:none!important;
  position:relative!important;
}
.tx-global-header-v26 .tx-market-dual .tx-market-choice.is-active{
  background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.48)!important;
}
.tx-global-header-v26 .tx-market-dual .tx-market-choice.is-active::after{display:none!important}
.tx-global-header-v26 .tx-market-dual .flag,
.tx-global-header-v26 .tx-market-dual .globe{font-size:1.55rem!important;line-height:1!important;filter:none!important}
.tx-global-header-v26 .tx-market-dual .label{font-size:.76rem!important;font-weight:850!important;color:#fff!important}

/* Menu and search: identical framed hit areas. Search glyph is CSS-owned and cannot disappear. */
.tx-global-header-v26 .txh-frame-menu>.txgh-mobile,
.tx-global-header-v26 .txgh-actions.txh-frame-search>.tx-search-trigger{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:inherit!important;box-shadow:none!important;color:#fff!important;
}
.tx-global-header-v26 .tx-search-glyph{
  display:block!important;width:21px!important;height:21px!important;border:3px solid #fff!important;border-radius:50%!important;
  position:relative!important;box-sizing:border-box!important;opacity:1!important;
}
.tx-global-header-v26 .tx-search-glyph::after{
  content:""!important;display:block!important;position:absolute!important;width:9px!important;height:3px!important;
  right:-7px!important;bottom:-4px!important;background:#fff!important;border-radius:3px!important;transform:rotate(45deg)!important;
}
.tx-global-header-v26 .tx-hamburger-line{background:#fff!important;opacity:1!important}

/* Language dropdown is its own compact frame below the top row. */
.tx-global-header-v26>.tx-language-rail-shell.tx-language-dropdown-shell{
  width:min(208px,calc(100% - 24px))!important;max-width:208px!important;min-width:0!important;
  margin:0 12px 10px!important;padding:0!important;background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.24)!important;border-radius:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08)!important;overflow:visible!important;
}
html[dir="rtl"] .tx-global-header-v26>.tx-language-rail-shell.tx-language-dropdown-shell{margin-left:12px!important;margin-right:auto!important}
.tx-global-header-v26>.tx-language-rail-shell .tx-language-rail-toggle{
  width:100%!important;min-width:0!important;min-height:48px!important;padding:5px 11px 5px 5px!important;
  background:transparent!important;border:0!important;border-radius:15px!important;box-shadow:none!important;
}
.tx-global-header-v26>.tx-language-rail-shell .tx-language-current-code{
  min-width:45px!important;height:36px!important;border-radius:10px!important;font-size:12px!important;
}
.tx-global-header-v26>.tx-language-rail-shell .tx-language-current-name{font-size:14px!important;max-width:112px!important}

/* Mobile geometry audit. */
@media(max-width:820px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  .tx-global-header-v26{overflow:visible!important}
  .tx-global-header-v26 .txgh-inner,
  .tx-global-header-v26 .txgh-inner.tx-header-intl{
    display:grid!important;grid-template-columns:minmax(112px,1fr) 112px 50px 50px!important;
    grid-template-areas:"brand market menu search"!important;align-items:center!important;
    gap:7px!important;width:100%!important;max-width:100%!important;min-height:96px!important;
    padding:10px 12px 8px!important;box-sizing:border-box!important;overflow:visible!important;
  }
  html[dir="rtl"] .tx-global-header-v26 .txgh-inner,
  html[dir="rtl"] .tx-global-header-v26 .txgh-inner.tx-header-intl{
    grid-template-columns:50px 50px 112px minmax(112px,1fr)!important;
    grid-template-areas:"search menu market brand"!important;
  }
  .tx-global-header-v26 .txh-frame-brand{grid-area:brand!important;width:100%!important;max-width:140px!important;height:76px!important;justify-self:start!important}
  html[dir="rtl"] .tx-global-header-v26 .txh-frame-brand{justify-self:end!important}
  .tx-global-header-v26 .txh-frame-market,
  .tx-global-header-v26 .txh-frame-market-intl{grid-area:market!important;width:112px!important;height:50px!important;justify-self:center!important}
  .tx-global-header-v26 .txh-frame-menu{grid-area:menu!important;width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important}
  .tx-global-header-v26 .txgh-actions.txh-frame-search{grid-area:search!important;width:50px!important;height:50px!important;min-width:50px!important;max-width:50px!important;display:flex!important}
  .tx-global-header-v26 .txh-frame-brand>.txgh-logo img.tx-brand-logo{max-width:136px!important;max-height:70px!important}
  .tx-global-header-v26 .tx-market-dual .tx-market-choice{min-width:50px!important;width:50px!important;min-height:48px!important;height:48px!important;padding:0!important}
  .tx-global-header-v26 .tx-market-dual .label{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}

  /* Avoid the extra two-row buyer strip seen in the capture; mobile already has the service subnav. */
  .tx49-audience-mini{display:none!important}

  /* Stable horizontal subnavigation; never lets an icon use intrinsic image size. */
  .tx-v704-subnav{display:flex!important;align-items:stretch!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain!important;scrollbar-width:none!important;padding:8px 10px!important;white-space:nowrap!important}
  .tx-v704-subnav::-webkit-scrollbar{display:none!important}
  .tx-v704-subnav a{flex:0 0 auto!important;min-height:52px!important;padding:8px 13px!important;border-radius:15px!important;white-space:nowrap!important}
  .tx-v704-subnav img{width:30px!important;height:30px!important;min-width:30px!important;max-width:30px!important;min-height:30px!important;max-height:30px!important;object-fit:contain!important}

  /* Mobile hero typography: preserve hierarchy without occupying an entire viewport. */
  .v585-home-grid{min-height:0!important;padding-inline:18px!important}
  .v585-hero-copy{padding:34px 0 84px!important;min-width:0!important}
  .v585-hero-copy h1{font-size:clamp(2.5rem,11vw,3rem)!important;line-height:.98!important;letter-spacing:-.04em!important;margin-bottom:22px!important;overflow-wrap:normal!important;word-break:normal!important}
  .v585-lead{font-size:clamp(1.05rem,4.9vw,1.22rem)!important;line-height:1.58!important;margin-bottom:22px!important}
  .txq-hero .txq-wrap,.v20-hero .tx584-copy,.v20-hero>.container:not(.v20-hero-inner),.v19-hero>.container,.tx49-page-hero>.container,.tx-sa-hero>.container,.tx-ie-hero>.container>div:first-child{
    width:calc(100% - 24px)!important;max-width:100%!important;padding:22px!important;border-radius:22px!important;box-sizing:border-box!important;
  }
  .txq-hero h1,.v20-hero h1,.v19-hero h1,.tx49-page-hero h1,.tx-sa-hero h1,.tx-ie-hero h1,.v589-generic-page-hero h1{
    font-size:clamp(2.25rem,10.4vw,2.75rem)!important;line-height:1.04!important;letter-spacing:-.035em!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance!important;
  }
  .txq-hero p,.v20-hero p,.v19-hero p,.tx49-page-hero p,.tx-sa-hero p,.tx-ie-hero p,.v589-generic-page-hero p{
    font-size:clamp(1rem,4.6vw,1.16rem)!important;line-height:1.62!important;overflow-wrap:anywhere!important;
  }

  /* Floating quote CTA: smaller and less obstructive. */
  .tx-sticky-mobile-quote{
    left:auto!important;right:12px!important;bottom:12px!important;width:auto!important;min-width:0!important;max-width:min(216px,calc(100vw - 24px))!important;
    min-height:50px!important;padding:0 20px!important;border-radius:999px!important;font-size:15px!important;line-height:1.1!important;box-shadow:0 10px 28px rgba(0,55,29,.24)!important;
  }
  html[dir="rtl"] .tx-sticky-mobile-quote{right:auto!important;left:12px!important}
  main{padding-bottom:66px!important}

  /* RTL containment: never allow page columns to collapse to one side. */
  html[dir="rtl"] main,html[dir="rtl"] main>*,html[dir="rtl"] section,html[dir="rtl"] .container{
    max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  }
}

@media(max-width:380px){
  .tx-global-header-v26 .txgh-inner,
  .tx-global-header-v26 .txgh-inner.tx-header-intl{
    grid-template-columns:minmax(98px,1fr) 98px 46px 46px!important;gap:5px!important;padding-inline:8px!important;
  }
  html[dir="rtl"] .tx-global-header-v26 .txgh-inner,
  html[dir="rtl"] .tx-global-header-v26 .txgh-inner.tx-header-intl{
    grid-template-columns:46px 46px 98px minmax(98px,1fr)!important;
  }
  .tx-global-header-v26 .txh-frame-brand{max-width:118px!important;height:68px!important}
  .tx-global-header-v26 .txh-frame-brand>.txgh-logo img.tx-brand-logo{max-width:114px!important;max-height:64px!important}
  .tx-global-header-v26 .txh-frame-market,.tx-global-header-v26 .txh-frame-market-intl{width:98px!important}
  .tx-global-header-v26 .tx-market-dual{gap:4px!important}
  .tx-global-header-v26 .tx-market-dual .tx-market-choice{width:47px!important;min-width:47px!important;height:46px!important;min-height:46px!important}
  .tx-global-header-v26 .txh-frame-menu,.tx-global-header-v26 .txgh-actions.txh-frame-search{width:46px!important;height:46px!important;min-width:46px!important;max-width:46px!important}
  .v585-hero-copy h1{font-size:clamp(2.25rem,11vw,2.65rem)!important}
  .txq-hero h1,.v20-hero h1,.v19-hero h1,.tx49-page-hero h1,.tx-sa-hero h1,.tx-ie-hero h1,.v589-generic-page-hero h1{font-size:clamp(2.05rem,10.5vw,2.45rem)!important}
}

/* Wider screens keep the same visual grammar: every header control has a frame. */
@media(min-width:821px){
  .tx-global-header-v26 .txh-frame-brand{padding:4px 7px!important}
  .tx-global-header-v26 .tx-market-dual .tx-market-choice{min-height:46px!important}
}
/* Dropdown button must fill its own frame; older v72/v75 rules used shrink-to-fit sizing. */
.tx-global-header-v26>.tx-language-rail-shell.tx-language-dropdown-shell>.tx-language-rail-toggle{
  display:flex!important;flex:0 0 100%!important;inline-size:100%!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
}
/* Official Morocco accent recovery for the service subnav. */
.tx-v704-subnav a:hover,.tx-v704-subnav a:focus-visible,.tx-v704-subnav a[aria-current="page"]{
  border-color:#006233!important;color:#0b3426!important;box-shadow:0 8px 20px rgba(0,98,51,.09)!important;
}
.tx-v704-subnav a[aria-current="page"]{background:#f5fbf7!important}

@media(max-width:820px){
  .tx-global-header-v26>.tx-language-rail-shell.tx-language-dropdown-shell{width:176px!important;max-width:176px!important}
  .v585-hero-copy h1{font-size:clamp(2.35rem,10.6vw,2.75rem)!important}
  .v585-lead{font-size:clamp(1rem,4.4vw,1.12rem)!important}
  .txq-hero h1,.v20-hero h1,.v19-hero h1,.tx49-page-hero h1,.tx-sa-hero h1,.tx-ie-hero h1,.v589-generic-page-hero h1{font-size:clamp(2.08rem,9.5vw,2.42rem)!important}
  .txq-hero p,.v20-hero p,.v19-hero p,.tx49-page-hero p,.tx-sa-hero p,.tx-ie-hero p,.v589-generic-page-hero p{font-size:clamp(.98rem,4.25vw,1.08rem)!important}
  .tx-sticky-mobile-quote{max-width:min(190px,calc(100vw - 24px))!important;min-height:48px!important;font-size:14px!important;padding-inline:17px!important;opacity:0!important;transform:translateY(14px)!important;pointer-events:none!important;transition:opacity .18s ease,transform .18s ease!important}
  html.lt-sticky-ready .tx-sticky-mobile-quote{opacity:1!important;transform:none!important;pointer-events:auto!important}
}
@media(prefers-reduced-motion:reduce){.tx-sticky-mobile-quote{transition:none!important}}
