:root{
  --fg-sneat-body-bg:#f5f5f9;
  --fg-sneat-card-bg:#fff;
  --fg-sneat-text:#566a7f;
  --fg-sneat-heading:#566a7f;
  --fg-sneat-muted:#a1acb8;
  --fg-sneat-border:rgba(67,89,113,.14);
  --fg-sneat-shadow:0 .25rem 1.125rem rgba(75,70,92,.10);
  --fg-sneat-radius:.5rem;
  --fg-sneat-radius-lg:.75rem;
}

body{
  background:var(--fg-sneat-body-bg) !important;
  color:var(--fg-sneat-text);
}

body.fg-contrast{
  --fg-sneat-body-bg:#000;
  --fg-sneat-card-bg:#0b0b0b;
  --fg-sneat-text:#fff;
  --fg-sneat-heading:#fff;
  --fg-sneat-muted:rgba(255,255,255,.78);
  --fg-sneat-border:rgba(255,255,255,.28);
  --fg-sneat-shadow:none;

  --bs-body-bg:#000;
  --bs-body-color:#fff;
  --bs-secondary-color:rgba(255,255,255,.78);
  --bs-tertiary-color:rgba(255,255,255,.62);
  --bs-border-color:rgba(255,255,255,.28);
  --bs-link-color:#ffd400;
  --bs-link-hover-color:#ffe066;
}

.fg-admin{
  padding-bottom:0 !important;
}

body,
.btn,
.form-control,
.form-select,
.input-group-text{
  font-family:"Public Sans", var(--fg-font-sans);
}

.text-muted{
  color:var(--fg-sneat-muted) !important;
}

.bg-body-tertiary{
  background:var(--fg-sneat-body-bg) !important;
}

.bg-white{
  background:var(--fg-sneat-card-bg) !important;
}

.border{
  border-color:var(--fg-sneat-border) !important;
}

.border-top,
.border-bottom,
.border-start,
.border-end{
  border-color:var(--fg-sneat-border) !important;
}

.shadow-sm{
  box-shadow:var(--fg-sneat-shadow) !important;
}

.rounded-4{
  border-radius:var(--fg-sneat-radius-lg) !important;
}

.btn{
  border-radius:.3rem;
  font-weight:500;
  letter-spacing:.01em;
  transition:all .2s ease-in-out;
}

.btn:not(.btn-close){
  --fg-btn-grad-from:var(--bs-btn-bg, #696cff);
  --fg-btn-grad-to:var(--bs-btn-active-bg, #5f61e6);
  --fg-btn-shadow:0 .125rem .375rem rgba(67,89,113,.24);
  background-image:linear-gradient(135deg, var(--fg-btn-grad-from), var(--fg-btn-grad-to));
  box-shadow:var(--fg-btn-shadow);
  border-color:transparent;
}

.btn:not(.btn-close):hover{
  transform:translateY(-1px);
  filter:saturate(1.04);
  box-shadow:0 .25rem .6rem rgba(67,89,113,.28);
}

.btn:not(.btn-close):active{
  transform:translateY(0);
  box-shadow:0 .1rem .35rem rgba(67,89,113,.26);
}

.btn:focus-visible{
  outline:2px solid rgba(105,108,255,.65);
  outline-offset:2px;
}

.btn.btn-light{
  --fg-btn-grad-from:#fff;
  --fg-btn-grad-to:#f3f4f8;
  color:var(--fg-sneat-text);
  border-color:var(--fg-sneat-border);
}

.btn-outline-secondary{
  --bs-btn-color:var(--fg-sneat-text);
  --bs-btn-border-color:var(--fg-sneat-border);
  --bs-btn-hover-color:var(--fg-sneat-heading);
  --bs-btn-hover-bg:rgba(67,89,113,.06);
  --bs-btn-hover-border-color:var(--fg-sneat-border);
  --bs-btn-active-bg:rgba(67,89,113,.10);
  --bs-btn-active-border-color:var(--fg-sneat-border);
  --fg-btn-grad-from:rgba(67,89,113,.08);
  --fg-btn-grad-to:rgba(67,89,113,.16);
  border-color:var(--fg-sneat-border) !important;
  color:var(--fg-sneat-text) !important;
}

.btn-fuguro{
  --fg-btn-grad-from:#f5bf43;
  --fg-btn-grad-to:#e7a516;
}

.btn-takeout{
  --fg-btn-grad-from:#3f7ff1;
  --fg-btn-grad-to:#2457b6;
}

body.fg-contrast .btn-outline-secondary{
  --bs-btn-color:#fff;
  --bs-btn-border-color:rgba(255,255,255,.35);
  --bs-btn-hover-color:#000;
  --bs-btn-hover-bg:#ffd400;
  --bs-btn-hover-border-color:#ffd400;
  --bs-btn-active-bg:#ffd400;
  --bs-btn-active-border-color:#ffd400;
  --fg-btn-grad-from:#1f1f1f;
  --fg-btn-grad-to:#0f0f0f;
  color:#fff !important;
  border-color:rgba(255,255,255,.35) !important;
}

body.fg-contrast .btn-fuguro{
  --bs-btn-color:#000;
  --bs-btn-bg:#ffd400;
  --bs-btn-border-color:#ffd400;
  --bs-btn-hover-bg:#ffe066;
  --bs-btn-hover-border-color:#ffe066;
  --bs-btn-active-bg:#ffe066;
  --bs-btn-active-border-color:#ffe066;
  --fg-btn-grad-from:#ffd400;
  --fg-btn-grad-to:#e2ba00;
}

body.fg-contrast .btn-takeout{
  --fg-btn-grad-from:#57a0ff;
  --fg-btn-grad-to:#2b6ecf;
}

.navbar.fg-topbar{
  box-shadow:var(--fg-sneat-shadow);
}

.fg-tagbar-wrap{
  background:var(--fg-sneat-card-bg);
  border-bottom:1px solid var(--fg-sneat-border);
  position:sticky;
  top:0;
  z-index:1060;
}

/* div.fg-tagbar-wrap > div.container-xxl.pb-2{
  height:66px;
  padding-top:0px;
  padding-bottom:12px !important;
} */

body:not(.fg-admin) nav.navbar.bg-white.fg-topbar{
  padding-bottom:0px;
}

body:not(.fg-admin) section#coupons{
  margin-left:20px;
  margin-right:20px;
}

body:not(.fg-admin) section#coupons > div.card-body{
  margin-left:0px;
  margin-right:0px;
}

body:not(.fg-admin) section#how{
  margin-left:20px;
  margin-right:20px;
}

body:not(.fg-admin) section#how > div.card-body{
  margin-left:0px;
  margin-right:0px;
}

#tagBar{
  padding-top:10px !important;
  padding-bottom:10px !important;
  height:auto !important;
  min-height:52px !important;
  margin-top:0px !important;
  margin-bottom:0px !important;
  border-radius:0px !important;
  flex-wrap:nowrap !important;
  cursor:grab;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scroll-behavior:smooth;
}

#tagBar.fg-hscroll--dragging{
  cursor:grabbing;
  user-select:none;
}

#tagBar .btn-group{
  flex-wrap:nowrap;
}

#tagBar .btn-outline-primary{
  --bs-btn-color:#f4b128;
  --bs-btn-border-color:#f4b128;
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg:#f4b128;
  --bs-btn-hover-border-color:#f4b128;
  --bs-btn-active-color:#fff;
  --bs-btn-active-bg:#e7a516;
  --bs-btn-active-border-color:#e7a516;
  background-image:none !important;
  background-color:#fff;
  box-shadow:none;
}

#tagBar .btn-check:checked + .btn-outline-primary{
  background-color:#f4b128;
  border-color:#f4b128;
  color:#fff;
  background-image:none !important;
  box-shadow:none;
}

#tagBar .btn-check:focus-visible + .btn-outline-primary{
  outline:2px solid rgba(244,177,40,.6);
  outline-offset:2px;
}

.navbar.fg-topbar .header-social > a:nth-child(1) .social-icon,
.navbar.fg-topbar .header-social > a:nth-child(2) .social-icon{
  width:20px;
  height:20px;
}

.tag-chip.btn{
  border-radius:6px;
}

.tag-chip.btn.btn-fuguro{
  box-shadow:0 .125rem .25rem rgba(244,177,40,.18);
}

.note-card{
  border:0;
  border-radius:var(--fg-sneat-radius-lg);
  background:var(--fg-sneat-card-bg);
  box-shadow:var(--fg-sneat-shadow);
  transition:transform .12s ease, box-shadow .12s ease;
}

body.fg-contrast .note-card{
  border:1px solid var(--fg-sneat-border);
}

body.fg-contrast .shadow-sm{
  box-shadow:none !important;
}

.form-control,
.form-select,
.input-group-text{
  border-color:var(--fg-sneat-border);
}

body.fg-contrast .form-control,
body.fg-contrast .form-select,
body.fg-contrast .input-group-text{
  background:#000;
  color:#fff;
  border-color:rgba(255,255,255,.35);
}

body.fg-contrast .form-control::placeholder{
  color:rgba(255,255,255,.62);
}

body.fg-contrast .toast,
body.fg-contrast .toast-header,
body.fg-contrast .modal-content{
  background:var(--fg-sneat-card-bg);
  color:#fff;
  border-color:rgba(255,255,255,.28);
}

body.fg-contrast .btn-close{
  filter:invert(1) grayscale(1);
}

.note-card:hover{
  transform:translateY(-1px);
}

.note-card__accent{
  height:4px;
}

.note-card__footer{
  background:rgba(67,89,113,.04) !important;
}

.calendar-day{
  border:0;
  border-radius:.625rem;
  box-shadow:0 .125rem .5rem rgba(67,89,113,.10);
}

.calendar-day--selected{
  box-shadow:0 0 0 .2rem rgba(105,108,255,.18);
}

.bottom-nav{
  background:rgba(255,255,255,.92);
  border-top:1px solid var(--fg-sneat-border);
  backdrop-filter:blur(6px);
}

.bottom-nav__item{
  color:var(--fg-sneat-muted);
}

.bottom-nav__item:focus-visible,
.bottom-nav__item:hover{
  color:var(--fg-sneat-text);
}

.bottom-nav__dot{
  background:rgba(105,108,255,.4);
}

.fg-layout{
  min-height:100vh;
  display:flex;
}

.fg-menu{
  width:260px;
  flex:0 0 auto;
  background:var(--fg-sneat-card-bg);
  border-right:1px solid var(--fg-sneat-border);
  box-shadow:var(--fg-sneat-shadow);
  position:fixed;
  inset:0 auto 0 0;
  z-index:1031;
  transform:translateX(-100%);
  transition:transform .18s ease;
  padding:1rem .75rem;
}

.fg-menu-brand{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.25rem .5rem 1rem;
}

.layout-menu-toggle{
  display:none;
  width:32px;
  height:32px;
  border-radius:.5rem;
  border:1px solid var(--fg-sneat-border);
  background:rgba(67,89,113,.04);
  color:var(--fg-sneat-text);
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  position:absolute;
  right:.5rem;
  top:.75rem;
  z-index:2;
  text-decoration:none;
}

.layout-menu-toggle:hover{
  background:rgba(105,108,255,.10);
}

.layout-menu-toggle:focus-visible{
  outline:2px solid rgba(105,108,255,.75);
  outline-offset:2px;
}

.layout-menu-toggle .icon-base{
  display:block;
  line-height:1;
  transition:transform .3s ease;
  transform-origin:center;
}

.fg-menu-title{
  font-weight:800;
  color:var(--fg-sneat-heading);
  letter-spacing:.01em;
}

.fg-menu-subtitle{
  color:var(--fg-sneat-muted);
  font-size:.82rem;
}

.fg-menu-nav{
  list-style:none;
  padding:0;
  margin:0;
}

.fg-menu-item a{
  display:flex;
  align-items:center;
  gap:.5rem;
  padding:.55rem .75rem;
  border-radius:.5rem;
  color:var(--fg-sneat-text);
  text-decoration:none;
}

.fg-menu-item a:hover{
  background:rgba(105,108,255,.10);
}

.fg-menu-item a.active{
  background:rgba(105,108,255,.16);
  color:#696cff;
  font-weight:700;
}

.fg-page{
  flex:1 1 auto;
  min-width:0;
  margin-left:0;
}

.fg-page .fg-topbar{
  position:sticky;
  top:0;
  z-index:1030;
}

.fg-page-inner{
  padding:1.25rem 0;
}

.fg-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:1030;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

body.fg-menu-open .fg-menu{
  transform:translateX(0);
}

body.fg-menu-open .fg-overlay{
  opacity:1;
  pointer-events:auto;
}

@media (min-width:992px){
  .fg-menu{
    position:sticky;
    inset:auto;
    top:0;
    height:100vh;
    transform:none;
  }

  .fg-page{
    margin-left:0;
  }

  .fg-overlay{
    display:none;
  }
}

@media (min-width:1200px){
  .fg-menu{
    transition:transform .3s ease;
    will-change:transform;
  }

  .layout-menu-toggle{
    display:inline-flex;
  }

  .fg-menu-panel{
    padding-right:2.75rem;
  }

  body.fg-sidebar-collapsed .fg-menu{
    transform:translateX(-212px);
  }

  body.fg-sidebar-collapsed .layout-menu-toggle .icon-base{
    transform:rotate(180deg);
  }
}

.admin-item{
  border:0;
  border-radius:var(--fg-sneat-radius-lg);
  background:var(--fg-sneat-card-bg);
  box-shadow:var(--fg-sneat-shadow);
}

.admin-item::before{
  width:4px;
  opacity:.9;
}

.admin-item__footer{
  border-top:1px solid var(--fg-sneat-border);
  background:rgba(67,89,113,.04);
}

.form-label{
  color:var(--fg-sneat-heading);
}
