/* GastroJob mobile & installable app layer v2.0 */
:root{--gj-mobile-nav-height:72px}
html,body{max-width:100%;overflow-x:hidden}
img{max-width:100%;height:auto}
.gj-pwa-install-banner,.gj-mobile-bottom-nav,.gj-pwa-install-sheet{font-family:Arial,sans-serif}

.gj-pwa-install-banner{position:fixed;z-index:1005;left:50%;bottom:18px;transform:translateX(-50%);width:min(520px,calc(100% - 24px));display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;background:#fff;border:1px solid #dfe7e3;border-radius:18px;padding:13px 14px;box-shadow:0 18px 55px rgba(15,45,39,.24)}
.gj-pwa-install-icon{width:44px;height:44px;border-radius:12px;background:#0f2d27;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900}
.gj-pwa-install-copy{min-width:0;display:grid;line-height:1.25}.gj-pwa-install-copy strong{color:#0f2d27;font-size:15px}.gj-pwa-install-copy span{color:#6c7a75;font-size:12px;margin-top:3px}
.gj-pwa-install-btn{border:0;border-radius:10px;background:#e76f51;color:#fff;padding:10px 12px;font-weight:900;cursor:pointer}
.gj-pwa-dismiss{position:absolute;right:-6px;top:-10px;width:26px;height:26px;border:0;border-radius:50%;background:#0f2d27;color:#fff;font-size:20px;line-height:22px;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.18)}
body[data-gj-role="candidate"] .gj-pwa-install-banner{bottom:calc(var(--gj-mobile-nav-height) + 12px + env(safe-area-inset-bottom,0px))}

.gj-pwa-install-sheet{position:fixed;inset:0;z-index:1015;display:grid;align-items:end}.gj-pwa-install-backdrop{position:absolute;inset:0;background:rgba(8,31,26,.55);backdrop-filter:blur(3px)}.gj-pwa-install-sheet section{position:relative;background:#fff;border-radius:24px 24px 0 0;padding:28px 24px calc(28px + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 60px rgba(0,0,0,.18);max-height:85vh;overflow:auto}.gj-pwa-sheet-close{position:absolute;right:18px;top:14px;border:0;background:#eef2f0;width:36px;height:36px;border-radius:50%;font-size:25px;cursor:pointer}.gj-pwa-sheet-logo{width:58px;height:58px;border-radius:16px;background:#0f2d27;color:#fff;display:grid;place-items:center;font-size:31px;font-weight:900;margin-bottom:16px}.gj-pwa-sheet-copy strong{font-size:22px;color:#0f2d27}.gj-pwa-sheet-copy ol{padding-left:22px}.gj-pwa-sheet-copy li{margin:10px 0}.gj-pwa-sheet-ok{width:100%;margin-top:8px}

.gj-mobile-bottom-nav{display:none}

@media(max-width:760px){
  body{font-size:15px;-webkit-text-size-adjust:100%;padding-bottom:0}
  input,select,textarea,button{font-size:16px}
  header{min-height:68px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  .brand{font-size:21px;gap:8px}.brand img{width:44px;height:44px;border-radius:10px}.mobile-toggle{display:block;min-width:46px;min-height:46px;border-radius:12px;background:#f5f7f6}
  header nav{top:68px;max-height:calc(100dvh - 68px);overflow-y:auto;padding:14px 18px calc(20px + env(safe-area-inset-bottom,0px));gap:5px;border-top:1px solid var(--line)}
  header nav a{padding:11px 12px;border-radius:10px}header nav a:hover{background:#f6e9dc}header nav .btn{margin-top:3px}
  .hero{padding:42px 18px 46px}.hero h1{font-size:clamp(36px,11vw,50px)}.hero p{font-size:17px}.hero:after{opacity:.5}
  .wrap{padding:30px 16px}.section-title{font-size:30px}.section-sub{font-size:14px}
  .search,.filters{grid-template-columns:1fr;padding:10px}.search .btn,.filters .btn{grid-column:auto;width:100%}
  .grid,.company-list,.categories,.split,.dash{grid-template-columns:1fr}.grid,.company-list{gap:14px}.card{padding:18px;border-radius:15px}
  form.panel,.panel{margin:22px 14px;padding:20px;max-width:none}.field{margin-bottom:14px}
  .detail-grid{grid-template-columns:1fr;gap:14px}.job-detail h1{font-size:32px}.facts{position:static}.facts .btn{min-height:46px}
  .job-row{grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:start}.job-row>.btn{grid-column:1/-1;width:100%}.company-mark{width:46px;height:46px}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .footer-inner{padding:34px 18px;grid-template-columns:1fr}.gj-legal-links{padding:14px 18px 24px}
  .sidebar.candidate-nav{display:flex;position:relative;top:auto;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:6px;padding:8px;border-radius:14px;margin:0 0 18px;box-shadow:none}
  .sidebar.candidate-nav h3{display:none}.sidebar.candidate-nav a{flex:0 0 auto;scroll-snap-align:start;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.1);font-size:13px;white-space:nowrap}.sidebar.candidate-nav a:hover{background:rgba(255,255,255,.18);color:#fff}
  body[data-gj-role="candidate"]{padding-bottom:calc(var(--gj-mobile-nav-height) + env(safe-area-inset-bottom,0px))}
  body[data-gj-role="candidate"] footer{margin-bottom:0}
  .gj-mobile-bottom-nav{position:fixed;z-index:1000;left:0;right:0;bottom:0;display:grid!important;grid-template-columns:repeat(5,1fr);height:calc(var(--gj-mobile-nav-height) + env(safe-area-inset-bottom,0px));padding:7px max(4px,env(safe-area-inset-right)) env(safe-area-inset-bottom,0px) max(4px,env(safe-area-inset-left));background:rgba(255,255,255,.98);border-top:1px solid #dfe7e3;box-shadow:0 -8px 28px rgba(15,45,39,.09);backdrop-filter:blur(12px)}
  .gj-mobile-bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;text-decoration:none;color:#65756f;font-size:10px;font-weight:800;border-radius:10px;padding:4px 2px}.gj-mobile-bottom-nav a svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.gj-mobile-bottom-nav a.active{color:#e76f51;background:#fff5f1}.gj-mobile-bottom-nav a.active svg{stroke-width:2.2}
  .gj-pwa-install-banner{bottom:12px;width:calc(100% - 20px);grid-template-columns:40px minmax(0,1fr) auto;padding:11px 12px}.gj-pwa-install-icon{width:40px;height:40px}.gj-pwa-install-copy span{display:none}.gj-pwa-install-btn{padding:9px 10px}
  body[data-gj-role="candidate"] .gj-pwa-install-banner{bottom:calc(var(--gj-mobile-nav-height) + 10px + env(safe-area-inset-bottom,0px))}
}

@media(max-width:390px){
  .brand>span{font-size:19px}.gj-mobile-bottom-nav a{font-size:9px}.gj-mobile-bottom-nav a svg{width:20px;height:20px}.gj-pwa-install-copy strong{font-size:13px}
}

@media(display-mode:standalone){
  header{padding-top:env(safe-area-inset-top,0px)}
  .gj-pwa-install-banner{display:none!important}
}
