/*
  Odoo site restyle to align with BetterCorp theme
*/

:root {
  --bc-primary: #19b5fe;
  --bc-primary-dark: #007ac7;
  --bc-ink: #000000;
  --bc-ink-muted: #333333;
  --bc-border: rgba(0,0,0,0.08);
  --bc-glass-bg: rgba(255,255,255,0.72);
  --bc-ring: rgba(25,181,254,.28);
}

/* Base */
html, body { height: 100%; }
body {
  font-family: 'Roboto', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  color: var(--bc-ink);
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(25,181,254,0.06), transparent 60%),
    radial-gradient(700px 300px at 90% -15%, rgba(25,181,254,0.05), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}
img, video { max-width: 100%; height: auto; }
.container { padding-left: 24px; padding-right: 24px; }
@media (max-width: 600px) { .container { padding-left: 16px; padding-right: 16px; } }

/* Glass utility */
.bc-glass {
  background: var(--bc-glass-bg);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border: 1px solid var(--bc-border);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

/* Header (desktop) */
.o_header_standard.o_top_fixed_element .navbar {
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.08) !important;
  backdrop-filter: blur(10px);
}
.o_header_standard .nav-link {
  color: var(--bc-ink-muted) !important;
  padding: 8px 10px !important;
  border-radius: 10px;
  transition: background .2s ease, color .2s ease;
}
.o_header_standard .nav-link:hover {
  background: rgba(25,181,254,0.10);
  color: var(--bc-ink) !important;
}
.o_no_autohide_item a[href="/web/login"] {
  display: none;
}
.nav-pills .nav-link.active {
  background-color: #333333 !important;
  color: #FFFFFE !important;
}
#top_menu_collapse_mobile {
  margin-top: -1rem;
  margin-right: -5px;
}

/* Header (mobile) */
.o_header_mobile.o_header_mobile .o_main_nav {
  gap: 8px;
}
.o_header_mobile .o_header_mobile_buttons_wrap .btn,
.o_header_mobile .o_header_mobile_buttons_wrap .o_navlink_background_hover {
  border: 1px solid var(--bc-border) !important;
}
/* Offcanvas menu */
.offcanvas.o_navbar_mobile {
  background: rgba(255,255,255,.96) !important;
  border-left: 1px solid var(--bc-border) !important;
  border-radius: 12px 0 0 12px;
  width: 85vw;
  box-shadow: -20px 0 60px rgba(0,0,0,.12);
}
.offcanvas-backdrop.show { background: rgba(0,0,0,0.38) !important; }

/* Buttons */
.btn-primary,
.btn.btn-primary,
a.btn.btn-primary {
  background: linear-gradient(45deg, var(--bc-primary), var(--bc-primary-dark)) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px var(--bc-ring) !important;
}
.btn-primary:hover,
.btn.btn-primary:hover,
a.btn.btn-primary:hover {
  filter: brightness(0.98);
  transform: translateY(-1px);
}
.btn-outline-secondary,
.btn.btn-outline-secondary,
a.btn.btn-outline-secondary {
  background: transparent !important;
  color: var(--bc-ink) !important;
  border: 1px solid var(--bc-ink-muted) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.btn-outline-secondary:hover { background: rgba(25,181,254,.08) !important; border-color: var(--bc-primary) !important; }

/* Phone link in header */
.o_header_standard .o_nav-link_secondary { color: var(--bc-ink-muted) !important; }

/* Headings */
h1, .h1 { letter-spacing: -0.02em; }
h2, .h2 { letter-spacing: -0.01em; }

/* Cards & lists */
.card { border: 1px solid var(--bc-border) !important; border-radius: 14px !important; box-shadow: none; }
.card .card-header { border-bottom: 1px solid var(--bc-border) !important; }
.list-group-item { border-color: var(--bc-border) !important; }

/* Job detail bar */
.navbar.d-print-none { border-top: 1px solid var(--bc-border) !important; box-shadow: 0 4px 20px rgba(0,0,0,.04); }

/* CTA section */
.s_call_to_action .btn { padding: 10px 14px !important; }

/* Footer */
.o_footer { background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%) !important; border-top: 1px solid var(--bc-border) !important; }
.o_footer a { color: var(--bc-ink) !important; }
.o_footer .text-muted { color: var(--bc-ink-muted) !important; }

/* Search bar in mobile menu */
.o_navbar_mobile .oe_search_box { background: #f5f7fb !important; }
.o_navbar_mobile .input-group .btn { border-radius: 0 999px 999px 0 !important; }

/* Spacing adjustments */
.pb32 { padding-bottom: 32px !important; }
.pt40 { padding-top: 40px !important; }
.pb40 { padding-bottom: 40px !important; }
.mt24 { margin-top: 24px !important; }
.mb48 { margin-bottom: 48px !important; }

/* Responsive tweaks */
@media (max-width: 960px) {
  .btn.btn-primary.btn-lg { width: 100%; }
  .o_job_bottom_bar .btn { width: 100%; }
}
@media (max-width: 600px) {
  .navbar.o_header_mobile { border-radius: 999px !important; }
  .s_call_to_action .row > [class*="col-"] { text-align: left !important; }
}
