/* Small site-wide style tweaks */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700;800&display=swap');

:root{
  --brand: #2563eb; /* blue-600 */
}

html,body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial}

.container-max{max-width:1100px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}

.card { background: var(--card-bg, white); border-radius: 0.75rem; box-shadow: 0 6px 18px rgba(15,23,42,0.06); }

/* subtle focus states */
a:focus, button:focus, input:focus, textarea:focus{outline:2px solid rgba(37,99,235,0.18);outline-offset:2px}

/* responsive video container */
.video-wrap{position:relative;padding-top:56.25%;}
.video-wrap video{position:absolute;top:0;left:0;width:100%;height:100%;}

/* dark adjustments when using Tailwind's .dark class */
:root.dark .card{--card-bg:#0b1220}

/* Skip link (visible when focused) */
.skip-link{
  position:fixed;
  left:1rem;
  top:1rem;
  padding:0.5rem 0.75rem;
  background:var(--brand);
  color:#fff;
  border-radius:0.375rem;
  transform:translateY(-120%);
  transition:transform .18s ease, opacity .12s ease;
  z-index:60;
  /* hide visually by default but keep available to screen-readers */
  opacity:0;
  pointer-events:none;
}
.skip-link:focus{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}

/* Theme toggle button — consistent sizing and adaptive colors */
.theme-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;border:1px solid rgba(15,23,42,0.06);background:var(--theme-bg, #f3f4f6);color:var(--theme-fg, #111827);transition:background .18s ease, color .18s ease, border-color .18s ease}
.theme-btn i{font-size:1rem}
.dark .theme-btn{background:#1f2937;border-color:rgba(255,255,255,0.06);color:#f3f4f6}
.theme-btn:focus{box-shadow:0 0 0 3px rgba(37,99,235,0.12);outline:0}

/* Mobile variant for theme toggle (full-width in mobile menus) */
.theme-btn-mobile{display:inline-flex;align-items:center;justify-content:center;width:100%;height:44px;border-radius:0.5rem;border:1px solid rgba(15,23,42,0.06);background:var(--theme-bg,#f3f4f6);color:var(--theme-fg,#111827);transition:background .18s ease, color .18s ease, border-color .18s ease}
.dark .theme-btn-mobile{background:#1f2937;border-color:rgba(255,255,255,0.06);color:#f3f4f6}
.theme-btn-mobile i{font-size:1rem}

/* Header / logo tweaks: make the favicon/logo less visually heavy, align vertically
   and ensure it scales cleanly. This targets the image used as the site logo
   (alt="PartTimePro") so it won't affect unrelated images. */
nav a img[alt="PartTimePro"]{
  width:32px; /* slightly smaller than w-8 (32px) to ensure visual balance */
  height:32px;
  margin-right:0.5rem; /* consistent spacing to the text */
  border-radius:6px; /* soften the square background */
  object-fit:contain; /* keep the 'P' centered inside the box */
  display:inline-block;
  background:transparent;
  box-shadow:none;
  vertical-align:middle;
}

/* additional class based selector so markup can be consistent across pages */
.site-logo-img{
  width:32px;
  height:32px;
  margin-right:0.5rem;
  border-radius:6px;
  object-fit:contain;
  display:inline-block;
  vertical-align:middle;
}

/* Ensure the logo text uses the brand color and is vertically centered */
nav a{display:inline-flex;align-items:center;gap:0.5rem}
nav a span{line-height:1}

/* Reduce clutter on very small screens (logo text already hidden by tailwind classes)
   but keep the icon crisp */
@media (max-width:420px){
  nav a img[alt="PartTimePro"], .site-logo-img{width:28px;height:28px}
}
