/* === BEGIN FindInMoz R11 R7 R11 R32 — Mobile Card System & Lodging Canonical Rebuild === */
@media (max-width: 820px) {
  :root{
    --fim-mob-brand:#19b99d;
    --fim-mob-brand-2:#0fa98e;
    --fim-mob-ink:#0d2236;
    --fim-mob-muted:#6d8093;
    --fim-mob-line:#dce7eb;
    --fim-mob-soft:#eef5f6;
    --fim-mob-side:14px;
    --fim-mob-nav-space:132px;
  }

  html{scroll-padding-bottom:calc(var(--fim-mob-nav-space) + env(safe-area-inset-bottom,0px));}
  body.fim-mobile-app-shell{
    padding-bottom:calc(var(--fim-mob-nav-space) + env(safe-area-inset-bottom,0px))!important;
  }
  body.fim-mobile-drawer-open{overflow:hidden!important;overscroll-behavior:none;}

  /* iOS: no automatic input zoom, without blocking manual zoom. */
  body.fim-mobile-app-shell input:not([type="checkbox"]):not([type="radio"]),
  body.fim-mobile-app-shell select,
  body.fim-mobile-app-shell textarea,
  body.fim-mobile-app-shell .select2-search__field,
  body.fim-mobile-app-shell .select2-selection{font-size:16px!important;}

  /* Header and category rail. */
  body.fim-mobile-app-shell .fim-mainbar-inner{
    min-height:66px!important;height:66px!important;padding:8px 12px!important;gap:10px!important;
  }
  body.fim-mobile-app-shell .fim-logo img{max-height:44px!important;max-width:146px!important;}
  body.fim-mobile-app-shell .fim-search-icon{
    width:42px!important;height:42px!important;border-radius:50%!important;background:#fff!important;
    border:1px solid #e1ebef!important;box-shadow:0 7px 20px rgba(6,26,43,.07)!important;color:#0c7f72!important;
  }
  body.fim-mobile-app-shell.fim-mobile-native-drawer-ready .fim-mobile-toggle{display:none!important;}

  .fim-mobile-category-rail{
    display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;
    padding:8px 12px!important;margin:0!important;overflow-x:auto!important;white-space:nowrap!important;
    overscroll-behavior-x:contain;scrollbar-width:none;background:#073b49!important;
    border-top:1px solid rgba(255,255,255,.07)!important;border-bottom:1px solid rgba(255,255,255,.13)!important;
    position:relative!important;z-index:30!important;
  }
  .fim-mobile-category-rail::-webkit-scrollbar{display:none;}
  .fim-mobile-category-rail>*{flex:0 0 auto!important;}

  /* Drawer — one canonical implementation. */
  .fim-mobile-app-drawer-backdrop{
    position:fixed;inset:0;background:rgba(6,26,43,.58);backdrop-filter:blur(14px) saturate(.8);
    -webkit-backdrop-filter:blur(14px) saturate(.8);opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .24s ease,visibility .24s ease;z-index:100110;
  }
  .fim-mobile-app-drawer-backdrop.is-visible{opacity:1;visibility:visible;pointer-events:auto;}
  .fim-mobile-app-drawer{
    position:fixed;top:max(14px,env(safe-area-inset-top,0px));left:14px;bottom:max(14px,env(safe-area-inset-bottom,0px));
    width:min(calc(100vw - 28px),430px);display:flex;flex-direction:column;background:rgba(255,255,255,.985);
    border:1px solid rgba(255,255,255,.76);border-radius:30px;box-shadow:0 30px 90px rgba(6,26,43,.34),0 2px 16px rgba(6,26,43,.10);
    transform:translate3d(calc(-100% - 32px),0,0) scale(.985);transform-origin:left center;visibility:hidden;pointer-events:none;
    transition:transform .28s cubic-bezier(.22,.8,.32,1),visibility .28s ease;overflow:hidden;z-index:100120;
  }
  .fim-mobile-app-drawer.is-open{transform:translate3d(0,0,0) scale(1);visibility:visible;pointer-events:auto;}
  .fim-mobile-app-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:22px 20px 10px;}
  .fim-mobile-app-drawer-brand strong{display:block;font-size:24px;line-height:1;color:#0d2236;}
  .fim-mobile-app-drawer-brand span{display:block;margin-top:5px;font-size:12px;color:#7a8da0;}
  .fim-mobile-app-drawer-close{
    width:42px;height:42px;border:1px solid #e5edf1;border-radius:14px;background:#f8fafb;color:#0d2236;
    display:flex;align-items:center;justify-content:center;font-size:18px;
  }
  .fim-mobile-drawer-search{
    margin:6px 20px 14px;min-height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;
    border-radius:15px;background:#f5f7f9;border:1px solid #edf1f4;
  }
  .fim-mobile-drawer-search-icon{color:#70869b;}
  .fim-mobile-drawer-search-input{width:100%;border:0!important;background:transparent!important;outline:0!important;height:44px!important;padding:0!important;}
  .fim-mobile-app-drawer-body{overflow-y:auto;padding:0 20px 24px;}
  .fim-mobile-app-section+.fim-mobile-app-section{margin-top:18px;padding-top:16px;border-top:1px solid #e8eef1;}
  .fim-mobile-app-label{margin:0 0 10px;color:#70869b;font-size:10px;font-weight:850;letter-spacing:.18em;text-transform:uppercase;}
  .fim-mobile-drawer-row{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:11px;padding:10px 2px;text-decoration:none;border-bottom:1px solid #edf1f3;}
  .fim-mobile-drawer-row-icon{width:40px;height:40px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#e8faf6;color:#0a9b84;}
  .fim-mobile-drawer-row-copy strong{display:block;color:#0d2236;font-size:14px;}
  .fim-mobile-drawer-row-copy small{display:block;margin-top:2px;color:#728599;font-size:10.5px;line-height:1.3;}
  .fim-mobile-drawer-chevron{color:#71869a;font-size:12px;}
  .fim-mobile-space-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
  .fim-mobile-space-card{min-width:0;padding:10px 8px 11px;border:1px solid #d8eeea;border-radius:15px;background:#f9fefd;text-decoration:none;color:#0d2236;}
  .fim-mobile-space-card-top{display:flex;align-items:center;justify-content:space-between;}
  .fim-mobile-space-card-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#e6faf5;color:#0a987f;}
  .fim-mobile-space-card-chevron{font-size:10px;color:#71869a;}
  .fim-mobile-space-card strong{display:block;margin-top:7px;font-size:11px;line-height:1.1;}
  .fim-mobile-space-card small{display:block;margin-top:3px;font-size:9.5px;line-height:1.25;color:#76899a;}
  .fim-mobile-drawer-simple-row{min-height:48px;display:grid;grid-template-columns:30px 1fr 16px;align-items:center;gap:8px;border-bottom:1px solid #edf1f3;text-decoration:none;color:#0d2236;}
  .fim-mobile-drawer-simple-row>i,.fim-mobile-drawer-simple-row .fa-solid,.fim-mobile-drawer-simple-row .fa-regular{color:#17334d;}
  .fim-mobile-drawer-simple-row strong,.fim-mobile-drawer-simple-row span{font-size:13px;}

  /* Floating bottom dock. */
  .fim-mobile-bottom-nav{
    position:fixed;left:14px;right:14px;bottom:max(10px,env(safe-area-inset-bottom,0px));z-index:100080;
    min-height:76px;padding:7px 8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;
    border:1px solid rgba(218,229,234,.88);border-radius:25px;background:rgba(255,255,255,.94);
    backdrop-filter:blur(18px) saturate(1.18);-webkit-backdrop-filter:blur(18px) saturate(1.18);
    box-shadow:0 14px 40px rgba(6,26,43,.13);
  }
  .fim-mobile-bottom-item{
    position:relative;min-width:0;min-height:60px;border:0;background:transparent;text-decoration:none;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#7b8d9e;
  }
  .fim-mobile-bottom-icon{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;transition:.18s ease;}
  .fim-mobile-bottom-label{font-size:10px;font-weight:800;line-height:1;white-space:nowrap;}
  .fim-mobile-bottom-item.is-active{color:#078775;}
  .fim-mobile-bottom-item.is-active .fim-mobile-bottom-icon{background:#19b99d;color:#fff;box-shadow:0 8px 18px rgba(25,185,157,.24);}
  .fim-mobile-bottom-item.is-active::after{content:"";position:absolute;bottom:0;width:20px;height:3px;border-radius:99px;background:#19b99d;}

  /* R35: autenticação passa a usar exclusivamente o renderer responsivo canónico de findinmoz-auth.css. */

  /* Profissionais/Entidades e Alojamentos vivem nos respectivos CSS canónicos. */

  /* Empregos: preserve the approved geometry, only fix advanced-filter magnifier. */
  body.fim-mobile-jobs-page .jobs-hero-v2,
  body.fim-mobile-jobs-page .jobs-hero,
  body.fim-mobile-jobs-page .fim-jobs .jobs-hero-v2,
  body.fim-mobile-jobs-page .fim-jobs .jobs-hero{
    position:relative!important;top:auto!important;transform:none!important;min-height:0!important;margin:0!important;padding:16px 0 13px!important;
  }
  body.fim-mobile-jobs-page .jobs-hero-shell,
  body.fim-mobile-jobs-page .fim-jobs .jobs-hero-shell{width:min(calc(100% - 28px),760px)!important;margin:0 auto!important;row-gap:9px!important;}
  body.fim-mobile-jobs-page .jobs-hero-v2 h1,body.fim-mobile-jobs-page .jobs-hero h1{margin:7px 0 5px!important;font-size:20px!important;line-height:1.10!important;}
  body.fim-mobile-jobs-page .jobs-hero-v2 p,body.fim-mobile-jobs-page .jobs-hero p{margin:0!important;font-size:11.5px!important;line-height:1.34!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  body.fim-mobile-jobs-page .jobs-hero-benefits{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;margin:8px 0 1px!important;overflow-x:auto!important;scrollbar-width:none!important;}
  body.fim-mobile-jobs-page .jobs-hero-benefits::-webkit-scrollbar{display:none!important;}
  body.fim-mobile-jobs-page .jobs-hero-benefit{flex:0 0 auto!important;min-height:28px!important;padding:5px 9px!important;border-radius:999px!important;font-size:9px!important;white-space:nowrap!important;}
  body.fim-mobile-jobs-page .jobs-search{display:flex!important;flex-direction:column!important;gap:7px!important;width:100%!important;margin:1px 0 0!important;padding:11px!important;border-radius:17px!important;}
  body.fim-mobile-jobs-page .fim-mobile-jobs-primary{order:1!important;}
  body.fim-mobile-jobs-page .fim-mobile-jobs-submit{order:2!important;width:100%!important;min-height:44px!important;}
  body.fim-mobile-jobs-page .fim-mobile-jobs-toggle{order:3!important;}
  body.fim-mobile-jobs-page .fim-mobile-jobs-advanced{order:4!important;display:none!important;}
  body.fim-mobile-jobs-page .jobs-search.is-open .fim-mobile-jobs-advanced{display:block!important;width:100%!important;}
  .fim-mobile-jobs-toggle{width:100%!important;min-height:40px!important;padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:0!important;border-radius:13px!important;background:#eef5f6!important;color:#40586c!important;font-size:12px!important;font-weight:850!important;}
  body.fim-mobile-jobs-page .fim-mobile-jobs-advanced .fa-magnifying-glass,
  body.fim-mobile-jobs-page .fim-mobile-jobs-advanced .fa-search,
  body.fim-mobile-jobs-page .fim-mobile-jobs-advanced .select2-container .fa-magnifying-glass,
  body.fim-mobile-jobs-page .fim-mobile-jobs-advanced .select2-container .fa-search{display:none!important;}

  /* Market and Home are intentionally not restyled by R29. */
}

@media (max-width:390px){
  .fim-mobile-bottom-label{font-size:9.5px;}
  .fim-mobile-space-cards{grid-template-columns:1fr!important;}
}

@media (prefers-reduced-motion:reduce){
  .fim-mobile-app-drawer,.fim-mobile-app-drawer-backdrop,.fim-mobile-bottom-icon{transition:none!important;}
}
/* === END FindInMoz R11 R7 R11 R32 — Mobile Card System & Lodging Canonical Rebuild === */
