/* Minimal Bootstrap subset used by menu.html (no external dependencies) */
:root{
  --bs-primary:#0d6efd;
  --bs-primary-hover:#0b5ed7;
  --bs-secondary:#6c757d;
  --bs-secondary-hover:#5c636a;
  --bs-body-color:#212529;
  --bs-light:#f8f9fa;
  --bs-border:rgba(0,0,0,.125);
  --bs-radius:.375rem;
  --bs-gutter-x:1.5rem;
}
 
*,
*::before,
*::after{ box-sizing:border-box; }
 
html{ line-height:1.15; -webkit-text-size-adjust:100%; }
body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"; color:var(--bs-body-color); background:#fff; }
 
/* Container */
.container{
  width:100%;
  padding-right:calc(var(--bs-gutter-x)/2);
  padding-left:calc(var(--bs-gutter-x)/2);
  margin-right:auto;
  margin-left:auto;
}
@media (min-width:768px){
  .container{ max-width:720px; }
}
@media (min-width:992px){
  .container{ max-width:960px; }
}
 
/* Grid */
.row{
  display:flex;
  flex-wrap:wrap;
  margin-right:calc(var(--bs-gutter-x)/-2);
  margin-left:calc(var(--bs-gutter-x)/-2);
}
[class^="col-"], [class*=" col-"]{
  position:relative;
  width:100%;
  padding-right:calc(var(--bs-gutter-x)/2);
  padding-left:calc(var(--bs-gutter-x)/2);
}
.col-md-8{ width:100%; }
.col-md-4{ width:100%; }
@media (min-width:768px){
  .col-md-8{ flex:0 0 auto; width:66.66666667%; }
  .col-md-4{ flex:0 0 auto; width:33.33333333%; }
}
 
/* Utilities */
.w-100{ width:100%!important; }
.d-flex{ display:flex!important; }
.justify-content-center{ justify-content:center!important; }
.align-items-center{ align-items:center!important; }
.text-center{ text-align:center!important; }
.text-muted{ color:#6c757d!important; }
 
.mb-0{ margin-bottom:0!important; }
.mb-1{ margin-bottom:.25rem!important; }
.mb-2{ margin-bottom:.5rem!important; }
.mb-3{ margin-bottom:1rem!important; }
.mb-4{ margin-bottom:1.5rem!important; }
.mb-5{ margin-bottom:3rem!important; }
 
.mt-0{ margin-top:0!important; }
.mt-1{ margin-top:.25rem!important; }
.mt-2{ margin-top:.5rem!important; }
.mt-3{ margin-top:1rem!important; }
.mt-4{ margin-top:1.5rem!important; }
.mt-5{ margin-top:3rem!important; }
 
.py-5{ padding-top:3rem!important; padding-bottom:3rem!important; }
 
.rounded{ border-radius:var(--bs-radius)!important; }
 
.bg-light{ background-color:var(--bs-light)!important; }
.border-primary{ border:1px solid var(--bs-primary)!important; }
 
/* Cards */
.card{
  position:relative;
  display:block;
  background:#fff;
  border:1px solid var(--bs-border);
  border-radius:var(--bs-radius);
}
.card-body{ padding:1rem; }
.card-title{ margin:0 0 .5rem; font-size:1.25rem; font-weight:600; }
 
/* Buttons */
.btn{
  display:inline-block;
  font-weight:400;
  line-height:1.5;
  text-align:center;
  text-decoration:none;
  vertical-align:middle;
  cursor:pointer;
  -webkit-user-select:none; -moz-user-select:none; user-select:none;
  border:1px solid transparent;
  padding:.375rem .75rem;
  font-size:1rem;
  border-radius:var(--bs-radius);
  transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.btn:disabled{ opacity:.65; pointer-events:none; }
.btn-primary{
  color:#fff;
  background-color:var(--bs-primary);
  border-color:var(--bs-primary);
}
.btn-primary:hover{
  background-color:var(--bs-primary-hover);
  border-color:var(--bs-primary-hover);
}
.btn-secondary{
  color:#fff;
  background-color:var(--bs-secondary);
  border-color:var(--bs-secondary);
}
.btn-secondary:hover{
  background-color:var(--bs-secondary-hover);
  border-color:var(--bs-secondary-hover);
}
 
/* Images */
img{ max-width:100%; height:auto; }