
/* v80 — dual-domain polish: larger Ontario map, cleaner language selector, office maps, responsive refinements */
html, body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; }

/* Home hero Ontario map: larger presence to cover the white space without breaking desktop layout. */
.home-page .home-ontario-map{
  width:min(365px, 34vw) !important;
  margin-top:28px !important;
  filter:drop-shadow(0 22px 34px rgba(5,31,63,.18)) !important;
}
@media (min-width:1181px){
  .home-page .home-hero-copy{ width:min(700px, 45vw) !important; }
}
@media (max-width:1180px){
  .home-page .home-ontario-map{ width:min(315px, 46vw) !important; }
}
@media (max-width:860px){
  .home-page .home-ontario-map{ width:min(285px, 70vw) !important; margin-top:24px !important; }
  .home-page .home-hero-copy{ padding-left:22px !important; padding-right:22px !important; }
}
@media (max-width:430px){
  .home-page .home-ontario-map{ width:min(250px, 76vw) !important; }
}

/* English site has no visible language selector. Kept as CSS backup after removing the HTML. */
html[lang="en"] .language-switcher{ display:none !important; }

/* Spanish language selector: full labels + flags. */
html[lang="es"] .language-switcher-full{
  gap:6px !important;
  padding:5px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.92) !important;
  border:1px solid rgba(7,35,68,.14) !important;
  box-shadow:0 12px 26px rgba(5,27,53,.12) !important;
}
html[lang="es"] .language-switcher-full .lang-option{
  min-width:0 !important;
  height:34px !important;
  padding:0 12px !important;
  gap:7px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  font-size:13px !important;
  font-weight:900 !important;
}
html[lang="es"] .language-switcher-full .lang-flag{
  font-size:16px !important;
  line-height:1 !important;
  display:inline-flex !important;
}
html[lang="es"] .language-switcher-full .lang-label{ line-height:1 !important; }
html[lang="es"] .questionnaire-header-actions .language-switcher-full{ margin-right:10px !important; }

/* Office map buttons */
.office-map-actions-v80{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:16px;
}
.office-map-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:12px 14px;
  border-radius:16px;
  background:linear-gradient(135deg,#07345d,#0f65a8);
  color:#fff !important;
  font-weight:900;
  font-size:14px;
  line-height:1;
  text-decoration:none !important;
  box-shadow:0 14px 26px rgba(7,52,93,.20);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.office-map-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(7,52,93,.26);
  filter:saturate(1.08);
}
.office-map-btn i{ font-size:15px; }
@media (min-width:720px){
  .office-map-actions-v80{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}

/* Responsive sanity layer */
@media (max-width: 1180px){
  .site-header, .home-site-header{ padding-left:22px !important; padding-right:22px !important; }
  .header-actions{ gap:10px !important; }
}
@media (max-width: 980px){
  .site-header, .home-site-header{ min-height:84px !important; }
  .site-header .brand img, .home-site-header .brand img{ width:min(360px, 70vw) !important; max-height:64px !important; object-fit:contain !important; }
  .main-nav{ max-height:calc(100vh - 92px) !important; overflow-y:auto !important; overscroll-behavior:contain; }
  .mobile-nav-actions{ gap:12px !important; padding-top:14px !important; }
  html[lang="es"] .mobile-language-switcher.language-switcher-full{ display:inline-flex !important; flex-wrap:wrap !important; width:100%; justify-content:center; }
  html[lang="es"] .mobile-language-switcher .lang-option{ flex:1 1 130px; }
  .submenu{ max-height:62vh !important; overflow-y:auto !important; }
  .submenu-grid{ grid-template-columns:1fr !important; }
  .home-cta-row a, .home-help-actions a, .book-now-btn, .apply-top, .mobile-book-now, .mobile-work-with-us{ min-height:48px; }
}
@media (max-width: 760px){
  .premium-hero-grid, .premium-info-grid, .footer-top-premium{ grid-template-columns:1fr !important; }
  .hero-chip-row{ display:flex !important; flex-wrap:wrap !important; }
  .info-contact-grid{ grid-template-columns:1fr !important; }
  .content-container{ width:min(100% - 32px, 1120px) !important; }
  .premium-main-card, .content-card, .insight-card{ border-radius:24px !important; }
  .footer-contact-row{ flex-direction:column !important; align-items:flex-start !important; }
  .footer-license-row{ flex-wrap:wrap !important; }
  .questionnaire-shell{ grid-template-columns:1fr !important; }
  .questionnaire-aside{ position:relative !important; top:auto !important; }
  .questionnaire-actions{ flex-direction:column !important; gap:14px !important; }
  .questionnaire-actions-left, .questionnaire-actions-right{ width:100% !important; display:flex !important; flex-direction:column !important; }
  .questionnaire-actions .q-btn{ width:100% !important; justify-content:center !important; }
  .questionnaire-account-card{ width:min(92vw, 560px) !important; padding:28px 22px !important; }
  .questionnaire-account-actions{ display:flex !important; flex-direction:column !important; gap:12px !important; }
}
@media (max-width: 480px){
  h1{ word-break:normal; }
  .home-hero-copy h1{ font-size:clamp(46px, 14vw, 62px) !important; }
  .home-hero-copy p{ font-size:16px !important; }
  .home-primary-cta, .home-secondary-cta{ width:100% !important; justify-content:center !important; text-align:center !important; }
  html[lang="es"] .language-switcher-full .lang-option{ font-size:12.5px !important; padding:0 10px !important; }
}
@media (min-width:981px) and (max-width:1280px){
  html[lang="es"] .language-switcher-full .lang-option{font-size:11.5px!important;padding:0 8px!important;gap:5px!important;height:32px!important;}
  html[lang="es"] .language-switcher-full .lang-flag{font-size:14px!important;}
}
