
.toolbar .toolbar-content {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; /* or center, depending on layout */  
}
.content-container {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  box-sizing: border-box;
}
.content-container.setup {
    /* Stilurile tale aici */
    max-width: 600px !important;
}
/* Desktop layout: constrain inner navbar width */
@media (min-width: 768px) {
  .navbar-inner,.toolbar-inner {
    max-width: 900px;
    width: 100%;
    height: 100% !important; /* Important to override any default height */
    margin: 0 auto;
    position: relative; /* keep Framework7 behavior */
    left: 0;
    right: 0;
  }

  /* Important: ensure the parent navbar doesn't interfere */
  .navbar,.toolbar-top {
    display: flex;
    justify-content: center;
  }
}


.app-logo {
  height: 28px;
  width: auto;
}

/* Adaugă acest CSS în <style> în componenta ta sau într-un fișier CSS global */
.custom-date-tab {
    /* Stiluri de bază pentru un tab - preia ce e relevant din .tab-link dacă e nevoie */
    padding: 0 10px; /* Exemplu */
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-decoration: none;
    
    position: relative; /* Pentru eventuale borduri inferioare active */
    flex-shrink: 0; /* Important pentru scroll */
}
.item-inner-group-display {
    display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; text-align: center; padding-top: 12px; padding-bottom: 12px;
}
.custom-date-tab-active {
    color: var(--f7-tabbar-link-active-color, var(--f7-theme-color)) !important; /* Culoare activă */
    /* Poți adăuga o bordură inferioară sau alt indicator de activare */
    /* font-weight: bold; */ /* Exemplu */
}

/* Dacă vrei o linie sub tab-ul activ, similar cu .tab-link-active */
.toolbar.tabbar .custom-date-tab-active::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px; /* Sau cât era la .tab-link-active */
    background-color: var(--f7-tabbar-link-active-border-color, var(--f7-theme-color));
}

.filter-controls-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-top: 8px; /* Ajustează dacă e nevoie, din cauza block-strong */
  padding-bottom: 8px; /* Ajustează dacă e nevoie */
  overflow-x: auto;         /* Permite scroll orizontal atunci când conținutul depășește */
  white-space: nowrap;      /* Împiedică elementele copil (în special textul) să treacă pe rândul următor */
  -webkit-overflow-scrolling: touch; /* Pentru scroll lin pe dispozitivele iOS */
}

.filter-controls-wrapper .filter-label {
  white-space: nowrap;
  margin-right: 4px; /* Un mic spațiu suplimentar dacă gap nu e suficient */
}

.filter-controls-wrapper .button.filter-button { /* Selector mai specific */
  display: inline-block !important; /* Forțează inline-block dacă F7 îl face block */
  width: auto !important;         /* Forțează lățimea să fie automată */
  min-width: 0;                /* Resetează orice min-width setat de F7 */
  flex-grow: 0;                /* Nu permite butonului să crească pentru a umple spațiul în flex */
  flex-shrink: 0;              /* Nu permite butonului să se micșoreze */
  padding: 0 12px !important;    /* Asigură padding-ul dorit */
  height: 30px;                /* Sau cât dorești */
  line-height: 30px;           /* Aliniere verticală text */
  box-sizing: border-box;      /* Important dacă F7 folosește altceva */
  /* Pot fi necesare și alte resetări dacă F7 adaugă margini/padding-uri ciudate la .button în .block */
}

/* Stilurile pentru butonul activ rămân relevante */
.filter-controls-wrapper .button.filter-button.filter-active-button {
  background-color: var(--f7-theme-color) !important;
  color: white !important;
  border-color: var(--f7-theme-color) !important;
}

/* Stiluri pentru pagina de rezervări */
.page-booking-slots .toolbar-bottom.checkout-bar {
  min-height: 60px !important; /* O valoare vizibilă */
  background-color: #000000; /* Fundal negru */
  color: white;
}
.checkout-bar .toolbar-inner {
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.checkout-info div {
  font-size: 14px;
}
.checkout-action .button {
  background-color: #333; /* Fundal buton mai deschis */
  border-radius: 8px;
  height: 40px;
  line-height: 40px;
  padding: 0 15px;
}

/* Stil pentru filter bar nou */
.filter-bar-sticky {
  background-color: var(--f7-bars-bg-color, #fff); /* Sau culoarea ta de fundal */
  padding: 8px 16px;
  z-index: 10; /* Pentru sticky */
  display: flex;
  align-items: center;
  /* border-bottom: 1px solid var(--f7-hairline-color); */ /* Opțional */
}
.filter-bar-label {
  margin-right: 10px;
  font-size: 14px;
  color: #8e8e93; /* Gri ca în imagine */
}
.segments-strong .segment-button { /* Stil pentru butoanele de filtru */
    color: var(--f7-button-text-color, var(--f7-theme-color));
    font-weight: 500;
}
.segments-strong .segment-button.segment-button-active {
    background-color: var(--f7-theme-color); /* Albastru când e activ */
    color: #fff;
}


/* Stiluri pentru lista de sloturi */
.booking-slot-list ul:before,
.booking-slot-list ul:after {
  display: none; /* Elimină liniile default ale listei */
}
.booking-slot-list li {
  position: relative; /* Necesar pentru bara laterală */
  transition: background-color 0.3s;
  border-bottom: 1px solid var(--f7-list-item-divider-color, #c8c7cc); /* SAU var(--f7-hairline-color) */
}
/* Opțional: Elimină border-ul de la ultimul element din listă */
.booking-slot-list li:last-child {
  border-bottom: none;
}
/* Stilul pentru slot selectat (fundal albastru pe tot li-ul) */
.booking-slot-list li.slot-selected {
  background-color: var(--f7-theme-color);
  color: white;
}
.booking-slot-list li.slot-selected .slot-price,
.booking-slot-list li.slot-selected .item-subtitle, /* Adaugă și pentru subtitlu */
.booking-slot-list li.slot-selected .item-title {  /* Adaugă și pentru titlu */
  color: white !important; /* Forțează textul să fie alb */
}


/* Bara laterală roz pentru sloturile selectate */
.booking-slot-list li.slot-selected::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px; /* Lățimea barei */
  background-color: #000000; 
}

.item-checkbox.item-checkbox-icon-end .item-inner {
  /* Acest element conține titlul, subtitlul și prețul */
  flex-grow: 1; /* Permite item-inner să ocupe spațiul disponibil în item-content */
  /* Poți încerca și width: 100% dacă flex-grow nu e suficient,
     dar de obicei pentru copiii flex, grow este mai bun. */
}
/* Containerul principal al rândului */
.item-content.item-checkbox {
    display: flex;
    /* align-items: flex-start; */ /* Am avut asta înainte, poate cauza problema */
    align-items: center !important;   /* ÎNCEARCĂ ASTA: Centrează vertical item-inner și item-after-custom-layout */
    padding-right: 16px; 
    box-sizing: border-box;
}
/* Noul container pentru preț și checkbox în dreapta */
.item-after-custom-layout {
  display: flex;
  flex-direction: column; /* Aranjează prețul și checkbox-ul vertical */
  align-items: flex-end;  /* Aliniază prețul și checkbox-ul la dreapta în interiorul acestui container */
  justify-content: center; /* Centrează vertical în spațiul disponibil, dacă item-after-custom-layout are o înălțime mai mare */
  margin-left: auto;      /* Împinge acest container cât mai la dreapta posibil (dacă item-content nu e space-between) */
  padding-left: 10px;      /* Spațiu față de conținutul din stânga */
  
  flex-shrink: 0;        /* Să nu se micșoreze containerul */
  min-width: 85px; /* Asigură o lățime minimă pentru a evita micșorarea excesivă */
}
.checkbox-placeholder {
  padding-right: 16px; /* Spațiu față de marginea dreaptă a item-content */
}
.booking-slot-list li.slot-fully-booked { /* Nou, pentru grupuri de sloturi complet rezervate */
  background-color: #f0f0f0; /* Un alt gri, sau similar cu slot-unavailable */
}
.booking-slot-list li.slot-fully-booked .item-inner .item-title,
.booking-slot-list li.slot-fully-booked .item-inner .item-subtitle {
  color: #7f7f7f; /* Text puțin diferit */
}

.item-title-row {
  display: flex;
  justify-content: space-between; /* Aceasta ar trebui să funcționeze corect */
  align-items: center;
  width: 100%; /* Asigură-te că ocupă toată lățimea părintelui (item-inner) */
}

.item-title-content {
  display: flex;         /* Activează Flexbox */
  align-items: center;   /* Aliniază vertical titlul și chip-ul */
  /* gap: 8px; */        /* Spațiu între titlu și chip, dacă vrei */
}


/* Stiluri pentru checkbox personalizat (rămân similare, dar contextul s-a schimbat) */
.item-after-custom-layout .icon-checkbox { /* Țintește iconița în noul container */
  width: 22px;
  height: 22px;
  border: 2px solid #c7c7cc;
  border-radius: 50%;
  position: relative;
  box-sizing: border-box;
  /* Nu mai e nevoie de margin-left/right aici, părintele controlează poziția */
}
/* Starea bifată (fundal negru) */
.item-content.item-checkbox input[type="checkbox"]:checked ~ .item-after-custom-layout .icon-checkbox {
  /* Folosim general sibling combinator (~) pentru a ținti icon-checkbox
     când input-ul (care e un frate anterior) este bifat */
  background-color: #000000;
  border-color: #000000;
}

.item-content.item-checkbox input[type="checkbox"]:checked ~ .item-after-custom-layout .icon-checkbox::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 3px;
  width: 6px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.item-content.item-checkbox input[type="checkbox"] {
  display: none; /* Ascunde checkbox-ul default */
}


.slot-unavailable .item-content {
  background-color: #f0f0f0; /* Fundal gri deschis pentru sloturi indisponibile */
  color: #8e8e93;
}
.slot-unavailable .item-inner {
  opacity: 0.7;
}
.slot-unavailable label.item-checkbox {
    pointer-events: none; /* Nu permite click pe sloturi indisponibile */
}
.price-duration-container {
  display: flex; /* Aliniază prețul și durata pe aceeași linie */
  align-items: baseline; /* Aliniază la linia de bază a textului */
  justify-content: flex-end; /* Împinge la dreapta în containerul său */
  margin-bottom: 5px;
  line-height: 1.2;
  min-height: 1em;
  white-space: nowrap;
  text-align: right;
}

.slot-price-value {
  font-size: 13px;
  font-weight: 500;
  color: var(--f7-text-color, #000);
}
.slot-duration-text {
  font-size: 10px;
  color: var(--f7-text-color-secondary, #6d6d6d);
  margin-left: 3px; /* Spațiu după "/" implicit din string */
}

/* Asigură-te că icon-checkbox are o margine la stânga pentru a nu se lipi de preț */
.item-checkbox-icon-end .icon-checkbox {
  margin-left: 10px; /* Ajustează după nevoie */
  flex-shrink: 0; /* Să nu se micșoreze iconița */
}
.slot-price-placeholder { visibility: hidden; }
.slot-price-unavailable { /* Stilizare preț pentru sloturi indisponibile */
    color: var(--f7-text-color-secondary, #8e8e93);
}
/* Când slotul e selectat, și prețul devine alb */
/* Când slotul e selectat */
.booking-slot-list li.slot-selected .slot-price-value,
.booking-slot-list li.slot-selected .slot-duration-text {
  color: white !important;
}

.toolbar {
  z-index: 10000 !important;
  position: fixed !important;
  bottom: 0;
  left: 0;
  right: 0;
}
.page-content {
  padding-bottom: 56px; /* înălțimea toolbarului */
}
/*
|------------------------------------------------------------------------------
| Theme
|------------------------------------------------------------------------------
*/

html.dark .if-not-dark {
    display: none !important;
}

html:not(.dark) .if-dark {
    display: none !important;
}

/*
|------------------------------------------------------------------------------
| Tooltip
|------------------------------------------------------------------------------
*/

:root {
    --f7-tooltip-bg-color: rgba(0, 0, 0, 0.95);
}

:root .dark, :root.dark {
    --f7-tooltip-bg-color: rgba(255, 255, 255, 0.95);
    --f7-tooltip-text-color: #000000;
}

.tooltip {
    max-width: 256px;
}

.tooltip[class*='color-'] {
    --f7-tooltip-bg-color: rgba(var(--f7-theme-color-rgb), 0.95);
    --f7-tooltip-text-color: #FFFFFF;
}

.tooltip[class*='text-color-'] {
    --f7-tooltip-text-color: var(--f7-theme-color);
}

/*
|------------------------------------------------------------------------------
| Overlay Container
|------------------------------------------------------------------------------
*/

.overlay-container {
    position: relative;
}

.overlay-container:after {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.75) 75%, rgba(0, 0, 0, 1) 100%);
    border-radius: inherit;
    bottom: 0;
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 10;
}

.overlay-container > img, .overlay-container > video {
    border-radius: inherit;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.overlay-content {
    align-items: center;
    border-radius: inherit;
    box-sizing: border-box;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    position: absolute;
    padding: var(--f7-block-padding-vertical) var(--f7-block-padding-horizontal);
    text-align: center;
    top: 0;
    width: 100%;
    z-index: 100;
}

.bg-overlay:after {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0.5) 50%, rgba(0, 0, 0, 0.75) 75%, rgba(0, 0, 0, 1) 100%);
    border-radius: inherit;
    bottom: 0;
    content: '';
    height: 100%;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 10;
}

.no-overlay:after {
    content: none;
}
/*
|------------------------------------------------------------------------------
| Utilities
|------------------------------------------------------------------------------
*/

[class*='text-gradient-'] { -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

.bg-transparent { background: transparent !important; }
.bg-translucent { background-color: rgba(255, 255, 255, 0.75); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); }
.dark .bg-translucent, .dark.bg-translucent { background-color: rgba(45, 45, 45, 0.75); }

.bg-color-chrome { --f7-theme-color-bg-color: rgba(var(--f7-color-gray-rgb), 0.25); }
.border-color-chrome { --f7-theme-color-border-color: rgba(var(--f7-color-gray-rgb), 0.25); }

.opacity-0 { opacity: 0; }
.opacity-25 { opacity: 0.25; }
.opacity-50 { opacity: 0.5; }
.opacity-75 { opacity: 0.75; }
.opacity-100 { opacity: 1; }

.font-size-8 { font-size: 8px !important; }
.font-size-10 { font-size: 10px !important; }
.font-size-12 { font-size: 12px !important; }
.font-size-14 { font-size: 14px !important; }
.font-size-16 { font-size: 16px !important; }
.font-size-18 { font-size: 18px !important; }
.font-size-20 { font-size: 20px !important; }
.font-size-22 { font-size: 22px !important; }
.font-size-24 { font-size: 24px !important; }
.font-size-26 { font-size: 26px !important; }
.font-size-28 { font-size: 28px !important; }
.font-size-30 { font-size: 30px !important; }
.font-size-32 { font-size: 32px !important; }
.font-size-40 { font-size: 40px !important; }
.font-size-48 { font-size: 48px !important; }
.font-size-56 { font-size: 56px !important; }
.font-size-64 { font-size: 64px !important; }
.font-size-72 { font-size: 72px !important; }
.font-size-80 { font-size: 80px !important; }
.font-size-88 { font-size: 88px !important; }
.font-size-96 { font-size: 96px !important; }

.font-weight-bold { font-weight: bold !important; }
.font-weight-normal { font-weight: normal !important; }
.font-weight-500 { font-weight: 500 !important; }
.font-weight-600 { font-weight: 600 !important; }
.font-weight-800 { font-weight: 800 !important; }
.font-weight-900 { font-weight: 900 !important; }

.text-capitalize { text-transform: capitalize !important; }
.text-uppercase { text-transform: uppercase !important; }
.text-italic { font-style: italic; }
.text-underline-dotted { cursor: pointer; text-decoration-line: underline; text-decoration-style: dotted; }

.single-line-text { display: block !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.multi-line-text { display: -webkit-box !important; -webkit-box-orient: vertical !important; -webkit-line-clamp: 2 !important; overflow: hidden !important; word-break: break-word !important; }
.lines-1 { -webkit-line-clamp: 1 !important; }
.lines-2 { -webkit-line-clamp: 2 !important; }
.lines-3 { -webkit-line-clamp: 3 !important; }
.lines-4 { -webkit-line-clamp: 4 !important; }
.lines-5 { -webkit-line-clamp: 5 !important; }

.overflow-hidden { overflow: hidden !important; }
.overflow-visible { overflow: visible !important; }

.height-100 { height: 100% !important; }
.height-auto { height: auto !important; }
.height-full { height: 100% !important; overflow-y: auto !important; }
.width-100 { width: 100%; }

.flexbox-centered {
    align-items: center;
    border-radius: inherit;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.flex-grow-1 { flex-grow: 1 !important; }
.flex-wrap-wrap { flex-wrap: wrap !important; }

.letter-spacing-1 { letter-spacing: 1px; }
.line-height-1 { line-height: 1 !important; }

.text-align-start { text-align: start !important; }
.text-align-end { text-align: end !important; }

.vertical-align-middle { vertical-align: middle !important; }

.white-space-normal { white-space: normal !important; }
.white-space-nowrap { white-space: nowrap !important; }

.z-index-0 { z-index: 0 !important; }
.z-index-1 { z-index: 1 !important; }
.z-index-10 { z-index: 10 !important; }
.z-index-100 { z-index: 100 !important; }
.z-index-1000 { z-index: 1000 !important; }

.user-select-none {
    user-select: none;
}

.mask {
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.mask-squircle {
    -webkit-mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAwIDBDMjAgMCAwIDIwIDAgMTAwczIwIDEwMCAxMDAgMTAwIDEwMC0yMCAxMDAtMTAwUzE4MCAwIDEwMCAwWicvPjwvc3ZnPg==);
    mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNMTAwIDBDMjAgMCAwIDIwIDAgMTAwczIwIDEwMCAxMDAgMTAwIDEwMC0yMCAxMDAtMTAwUzE4MCAwIDEwMCAwWicvPjwvc3ZnPg==);
}

/*
|------------------------------------------------------------------------------
| Card
|------------------------------------------------------------------------------
*/

.aurora, .ios, .md {
    --f7-card-border-radius: var(--f7-block-inset-border-radius);
    --f7-card-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    --f7-card-header-font-size: 18px;
    --f7-card-header-font-weight: bold;
    --f7-card-header-min-height: 48px;
    --f7-card-header-padding-vertical: 8px;
    --f7-card-footer-font-size: 14px;
    --f7-card-footer-min-height: 48px;
    --f7-card-footer-padding-vertical: 12px;
}

.card-media {
    align-items: flex-start;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.card > .card-media:first-child {
    border-top-left-radius: var(--f7-card-border-radius);
    border-top-right-radius: var(--f7-card-border-radius);
}

.card > .card-media:last-child {
    border-bottom-left-radius: var(--f7-card-border-radius);
    border-bottom-right-radius: var(--f7-card-border-radius);
}

.card-media-content {
    box-sizing: border-box;
    color: #FFFFFF;
    padding: var(--f7-card-content-padding-vertical) var(--f7-card-content-padding-horizontal);
    position: relative;
    width: 100%;
    z-index: 1000;
}

.card-media > * ~ .card-media-content {
    position: absolute;
}

.card-title {
    font-size: 22px;
    font-weight: bold;
}

.card-subtitle {
    font-size: 16px;
}

.card-text {
    color: var(--f7-card-footer-text-color);
    font-size: 14px;
}

.card-title + .card-subtitle, .card-title + .card-text, .card-subtitle + .card-text {
    margin-top: 4px;
}

.card-footer > * + * {
    margin-left: 4px;
    margin-right: 0;
}

[dir=rtl] .card-footer > * + * {
    margin-left: 0;
    margin-right: 4px;
}
/*
|------------------------------------------------------------------------------
| Badge
|------------------------------------------------------------------------------
*/

:root {
    --f7-badge-bg-color: var(--color-gray-500);
}

:root .dark, :root.dark {
    --f7-badge-bg-color: var(--color-gray-700);
}

.aurora, .ios, .md {
    --f7-badge-font-weight: normal;
    --f7-badge-size: 20px;
}

.badge {
    border-radius: 4px;
    height: auto;
    line-height: 1;
    margin: 3px;
    min-height: var(--f7-badge-size);
    overflow: hidden;
    --f7-touch-ripple-color: rgba(var(--f7-color-gray-rgb), 0.25);
}

.badge[class*=color-] {
    --f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.25);
}

.badge > :not(.ripple-wave) + * {
    margin-left: 3px;
    margin-right: 0;
}

[dir=rtl] .badge > :not(.ripple-wave) + * {
    margin-left: 0;
    margin-right: 3px;
}

.badge-round {
    border-radius: var(--f7-badge-size);
    --f7-badge-padding: 0px 8px;
}

.badge-outline {
    background: none;
    border: 1px solid var(--f7-badge-bg-color);
    color: var(--f7-badge-bg-color);
}

.badge-fade {
    background-color: rgba(var(--color-gray-rgb-500), 0.2);
    color: var(--color-gray-600);
}

.badge-fade[class*='color-'] {
    background-color: rgba(var(--f7-theme-color-rgb), 0.2);
    color: var(--f7-theme-color);
}

.badge.badge-dot {
    border-radius: 50%;
    height: var(--f7-badge-size);
    overflow: hidden;
    width: var(--f7-badge-size);
    --f7-badge-padding: 0px;
    --f7-badge-size: 10px;
    --f7-badge-text-color: transparent;
}

.badge .icon {
    font-size: var(--f7-badge-font-size) !important;
}

.icon .badge {
    margin-top: 0;
}

[dir=rtl] .icon .badge {
    left: auto;
    margin-left: 0;
    margin-right: -10px;
    right: 100%;
}

.button .badge {
    --f7-badge-bg-color: #FFFFFF;
    --f7-badge-font-size: var(--f7-button-font-size);
    --f7-badge-font-weight: var(--f7-button-font-weight);
    --f7-badge-text-color: var(--f7-theme-color);
    margin: 0 8px !important;
}

.badge-wrapper {
    overflow: visible;
    position: relative;
}

.badge-wrapper .badge {
    left: 100%;
    margin: 0;
    position: absolute;
    top: calc(var(--f7-badge-size) / -2);
    transform: translateX(calc(var(--f7-badge-size) / -2));
    --f7-badge-font-size: 0.625rem;
    --f7-badge-size: 0.625rem;
}

[dir=rtl] .badge-wrapper .badge {
    left: auto;
    right: 100%;
    transform: translateX(calc(var(--f7-badge-size) / 2));
}

.badge-wrapper .badge-bottom {
    bottom: calc(var(--f7-badge-size) / -2);
    top: auto;
}

/*
|------------------------------------------------------------------------------
| Navbar
|------------------------------------------------------------------------------
*/

:root {
    --f7-navbar-title-line-height: normal;
}

.aurora, .ios, .md {
    --f7-navbar-font-size: 20px;
    --f7-navbar-title-font-weight: bold;
    --f7-navbar-title-text-align: center;
    --f7-navbar-subtitle-line-height: 1.3;
    --f7-navbar-large-title-font-size: 30px;
    --f7-navbar-large-title-font-weight: bold;
    --f7-navbar-large-title-letter-spacing: 0px;
}

.ios {
    --f7-navbar-height: 52px;
    --f7-navbar-tablet-height: 52px;
    --f7-navbar-inner-padding-left: 16px;
    --f7-navbar-inner-padding-right: 16px;
    --f7-navbar-subtitle-font-size: 12px;
}

.aurora .navbar .title img, .aurora .navbar .title svg {
    height: calc(var(--f7-navbar-tablet-height) - 32px);
}

.ios .navbar .title img, .ios .navbar .title svg {
    height: calc(var(--f7-navbar-tablet-height) - 24px);
}

.md .navbar .title img, .md .navbar .title svg {
    height: calc(var(--f7-navbar-tablet-height) - 40px);
}

.aurora .navbar a.icon-only, .ios .navbar a.icon-only {
    width: 32px;
}

.navbars, .navbar {
    z-index: 1500;
}

.tabs-routable .navbars .navbar:first-of-type .link.back,
.tabs-routable .page:first-of-type .navbar .link.back {
    display: none;
}

.views .navbars .navbar:first-of-type .link.back,
.views .page:first-of-type .navbar .link.back {
    display: none;
}

/*
|------------------------------------------------------------------------------
| Scroll Bar
|------------------------------------------------------------------------------
*/

.device-desktop * {
    scrollbar-color: var(--color-gray-500) var(--color-gray-300);
    scrollbar-width: auto;
}

.device-desktop .dark *, .device-desktop.dark * {
    scrollbar-color: var(--color-gray-800) var(--color-gray-700);
}

.device-desktop *::-webkit-scrollbar {
    height: 4px;
    width: 8px;
}

.device-desktop *::-webkit-scrollbar-track {
    background-color: var(--color-gray-300);
}

.device-desktop .dark *::-webkit-scrollbar-track, .device-desktop.dark *::-webkit-scrollbar-track {
    background-color: var(--color-gray-700);
}

.device-desktop *::-webkit-scrollbar-thumb {
    background-color: var(--color-gray-500);
    border-color: var(--color-gray-500);
    border-radius: 0;
    border-style: none;
    border-width: 0;
}

.device-desktop .dark *::-webkit-scrollbar-thumb, .device-desktop.dark *::-webkit-scrollbar-thumb {
    background-color: var(--color-gray-800);
    border-color: var(--color-gray-800);
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

/*
|------------------------------------------------------------------------------
| Searchbar
|------------------------------------------------------------------------------
*/

.aurora, .ios, .md {
    --f7-searchbar-input-font-size: 16px;
    --f7-searchbar-in-page-content-input-border-radius: var(--f7-searchbar-input-border-radius);
}

.md {
    --f7-searchbar-input-border-radius: 4px;
}

.md .searchbar-icon {
    --f7-safe-area-left: 0px;
    --f7-safe-area-right: 0px;
}

[dir=rtl].md .searchbar-icon {
    right: calc(8px + var(--f7-safe-area-right));
}
/*
|------------------------------------------------------------------------------
| Empty State
|------------------------------------------------------------------------------
*/

.empty-state {
    align-items: center;
    box-sizing: border-box;
    color: inherit;
    display: flex;
    flex-direction: column;
    font-size: inherit;
    justify-content: center;
    margin: var(--f7-typography-margin) 0;
    padding-bottom: 0;
    padding-left: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-left));
    padding-right: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-right));
    padding-top: 0;
    position: relative;
    text-align: center;
    z-index: 1;
}

.empty-state-strong {
    background-color: var(--f7-block-strong-bg-color);
    color: var(--f7-block-strong-text-color);
    padding-bottom: var(--f7-block-padding-vertical);
    padding-top: var(--f7-block-padding-vertical);
}

.empty-state.inset {
    border-radius: var(--f7-block-inset-border-radius);
    margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
    margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
    --f7-safe-area-left: 0px;
    --f7-safe-area-right: 0px;
}

.page-content > .empty-state {
    padding-bottom: var(--f7-block-padding-vertical);
    padding-top: var(--f7-block-padding-vertical);
}

.page-content > .empty-state:not(.inset) {
    height: 100%;
    margin-bottom: 0;
    margin-top: 0;
}

.page-content > .empty-state.inset {
    min-height: calc(100% - var(--f7-typography-margin) * 2);
}

.empty-state > :first-child {
    margin-top: 0;
}

.empty-state > :last-child {
    margin-bottom: 0;
}

.empty-state-media {
    margin-top: calc(var(--f7-typography-margin) / 2);
}

.empty-state-title {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.3;
    margin-top: calc(var(--f7-typography-margin) / 1);
}

.empty-state-subtitle {
    margin-top: calc(var(--f7-typography-margin) / 2);
}

.empty-state-text {
    color: var(--f7-block-header-text-color);
    margin-top: calc(var(--f7-typography-margin) / 2);
}

.empty-state-actions {
    display: flex;
    margin-top: calc(var(--f7-typography-margin) / 1);
}

.empty-state-actions.actions-vertical {
    flex-direction: column;
}

.empty-state-action {
    min-width: 144px;
    width: auto;
}

.empty-state-actions.actions-vertical .empty-state-action + .empty-state-action {
    margin-top: 8px;
}

.empty-state-actions:not(.actions-vertical) .empty-state-action + .empty-state-action {
    margin-left: 8px;
    margin-right: 0;
}

[dir=rtl] .empty-state-actions:not(.actions-vertical) .empty-state-action + .empty-state-action {
    margin-left: 0;
    margin-right: 8px;
}

/*
|------------------------------------------------------------------------------
| Shape & Size
|------------------------------------------------------------------------------
*/

.shape-container {
    align-items: center;
    box-sizing: border-box;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 12px;
    text-align: center;
}

.shape-circle {
    border-radius: 50%;
}

.shape-rounded-square {
    border-radius: var(--f7-block-inset-border-radius);
}

.aurora .shape-auto {
    border-radius: var(--f7-block-inset-border-radius);
}

.ios .shape-auto {
    border-radius: var(--f7-block-inset-border-radius);
}

.md .shape-auto {
    border-radius: 50%;
}

.shape-inherit {
    border-radius: inherit !important;
}

.shape-none {
    border-radius: 0 !important;
}

.size-8 {
    height: 8px;
    width: 8px;
}

.size-12 {
    height: 12px;
    width: 12px;
}

.size-16 {
    height: 16px;
    width: 16px;
}

.size-20 {
    height: 20px;
    width: 20px;
}

.size-24 {
    height: 24px;
    width: 24px;
}

.size-32 {
    height: 32px;
    width: 32px;
}

.size-40 {
    height: 40px;
    width: 40px;
}

.size-48 {
    height: 48px;
    width: 48px;
}

.size-56 {
    height: 56px;
    width: 56px;
}

.size-64 {
    height: 64px;
    width: 64px;
}

.size-72 {
    height: 72px;
    width: 72px;
}

.size-80 {
    height: 80px;
    width: 80px;
}

.size-96 {
    height: 96px;
    width: 96px;
}

.size-112 {
    height: 112px;
    width: 112px;
}

.size-128 {
    height: 128px;
    width: 128px;
}
.size-w-20{
    width: 20px;
}

/*
|------------------------------------------------------------------------------
| Position
|------------------------------------------------------------------------------
*/

.position-relative {
    position: relative !important;
}

.position-absolute {
    position: absolute;
    z-index: 9999;
}

.position-left-top,
.position-left-center,
.position-left-bottom {
    left: 0;
}

.position-right-top,
.position-right-center,
.position-right-bottom {
    right: 0;
}

.position-left-top,
.position-center-top,
.position-right-top {
    top: 0;
}

.position-left-bottom,
.position-center-bottom,
.position-right-bottom {
    bottom: 0;
}

.position-center-top,
.position-center-center,
.position-center-bottom {
    left: 50%;
    transform: translateX(-50%);
}

.position-left-center,
.position-center-center,
.position-right-center {
    top: 50%;
    transform: translateY(-50%);
}

.position-center-center {
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0px;
    z-index: 1000;
}

.sticky.sticky-top {
    top: 0px;
}

.sticky.sticky-bottom {
    bottom: 0px;
}

@media (min-width: 768px) {
    .medium-sticky {
        position: -webkit-sticky;
        position: sticky;
        top: 0px;
        z-index: 1000;
    }
}
/*
|------------------------------------------------------------------------------
| Margin & Padding
|------------------------------------------------------------------------------
*/

.margin-bottom-auto {
    margin-bottom: auto !important;
}

.margin-left-auto {
    margin-left: auto !important;
}

.margin-right-auto {
    margin-right: auto !important;
}

.margin-top-auto {
    margin-top: auto !important;
}

.margin-horizontal-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 768px) {
    .medium-margin-vertical {
        margin-top: var(--f7-typography-margin) !important;
        margin-bottom: var(--f7-typography-margin) !important;
    }
    .medium-margin-top {
        margin-top: var(--f7-typography-margin) !important;
    }
    .medium-margin-bottom {
        margin-bottom: var(--f7-typography-margin) !important;
    }
    .medium-no-margin-vertical {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    .medium-no-margin-top {
        margin-top: 0 !important;
    }
    .medium-no-margin-bottom {
        margin-bottom: 0 !important;
    }
}

@media (min-width: 768px) {
    .medium-padding-vertical {
        padding-top: var(--f7-typography-padding) !important;
        padding-bottom: var(--f7-typography-padding) !important;
    }
    .medium-no-padding-horizontal {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/*
|------------------------------------------------------------------------------
| Marquee
|------------------------------------------------------------------------------
*/

.marquee {
    overflow: hidden;
}

[dir=rtl] .marquee[data-direction=left] .js-marquee, [dir=rtl] .marquee[data-direction=right] .js-marquee {
    float: right !important;
    margin-left: 0 !important;
    margin-right: unset !important;
}
/*
|------------------------------------------------------------------------------
| Image
|------------------------------------------------------------------------------
*/

:root {
    --f7-avatar-group-avatar-size: 48px;
    --f7-avatar-group-space-multiplier: -2.5;
}

img {
    /* max-width: 100%; */
    object-fit: cover;
    object-position: center;
    vertical-align: bottom;
}

.avatar {
    background-image: linear-gradient(to bottom right, var(--f7-theme-color-shade), var(--f7-theme-color), var(--f7-theme-color-tint));
    box-sizing: border-box;
    padding: 3.5px;
}

.avatar-group {
    align-items: center;
    display: flex;
    justify-content: flex-start;
}

.avatar-group .avatar, .avatar-group .avatar-count {
    align-items: center;
    border-radius: 50%;
    box-sizing: border-box;
    display: flex;
    height: var(--f7-avatar-group-avatar-size);
    justify-content: center;
    overflow: hidden;
    position: relative;
    text-align: center;
    width: var(--f7-avatar-group-avatar-size);
}

.avatar-group-hover .avatar:hover {
    z-index: 10;
}

.avatar-group .avatar img {
    border-radius: 50%;
}

.avatar-group .avatar-count {
    background-color: var(--color-gray-800);
    border-radius: var(--f7-avatar-group-avatar-size);
    color: #FFFFFF;
    font-size: 12px;
    font-weight: bold;
    min-width: var(--f7-avatar-group-avatar-size);
    padding: 0 8px;
    width: auto;
}

.avatar-group .avatar-count * {
    color: #FFFFFF;
}

.avatar-group .avatar:not(:first-child), .avatar-group .avatar-count:not(:first-child) {
    margin-left: calc(var(--f7-avatar-group-avatar-size) / var(--f7-avatar-group-space-multiplier));
    margin-right: 0;
}

[dir=rtl] .avatar-group .avatar:not(:first-child), [dir=rtl] .avatar-group .avatar-count:not(:first-child) {
    margin-left: 0;
    margin-right: calc(var(--f7-avatar-group-avatar-size) / var(--f7-avatar-group-space-multiplier));
}

.bg-cover {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.no-object-fit {
    object-fit: unset;
}
/*
|------------------------------------------------------------------------------
| Content Block
|------------------------------------------------------------------------------
*/

:root {
    --f7-block-header-font-size: 15px;
    --f7-block-footer-font-size: 15px;
}

.aurora, .ios, .md {
    --f7-block-title-font-size: 18px;
    --f7-block-title-font-weight: bold;
    --f7-block-title-line-height: 1.5;
    --f7-block-margin-vertical: 32px;
    --f7-block-title-margin-bottom: 10px;
    --f7-block-title-text-color: #000000;
    --f7-block-title-white-space: normal;
    --f7-block-title-medium-font-size: 22px;
    --f7-block-title-medium-font-weight: bold;
    --f7-block-title-medium-line-height: 1.4;
    --f7-block-title-large-font-size: 30px;
    --f7-block-title-large-font-weight: bold;
    --f7-block-title-large-line-height: 1.4;
}

.block-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: unset;
}

/*
|------------------------------------------------------------------------------
| List Index
|------------------------------------------------------------------------------
*/

.aurora, .ios, .md {
    --f7-list-index-font-size: 11px;
    --f7-list-index-skip-dot-size: 4px;
}

[dir=rtl] .list-index:before {
    left: 100%;
    right: auto;
}

[dir=rtl] .list-index .list-index-label {
    left: 100%;
    right: auto;
}

[dir=rtl].aurora .list-index .list-index-label {
    margin-left: calc(var(--f7-list-index-width) - 4px);
    margin-right: 0;
}

[dir=rtl].ios .list-index .list-index-label {
    margin-left: calc(var(--f7-list-index-width) - 2px);
    margin-right: 0;
}

[dir=rtl].md .list-index .list-index-label {
    border-radius: 50% 50% 50% 0;
}

[dir=rtl].aurora .list-index .list-index-label:before {
    border-radius: 50% 50% 50% 1px;
}

[dir=rtl].ios .list-index .list-index-label:before {
    border-radius: 50% 50% 50% 0;
}


/*
|------------------------------------------------------------------------------
| List View
|------------------------------------------------------------------------------
*/

:root {
    --f7-list-item-title-white-space: normal;
    --f7-list-item-text-max-lines: unset;
}

.aurora, .ios, .md {
    --f7-list-font-size: var(--f7-font-size);
    --f7-list-item-after-font-size: 14px;
    --f7-list-item-subtitle-font-size: 14px;
    --f7-list-item-text-font-size: 14px;
    --f7-list-media-item-padding-vertical: 16px;
    --f7-list-media-item-title-font-weight: 600;
    --f7-list-group-title-font-size: inherit;
    --f7-list-group-title-font-weight: normal;
    --f7-list-group-title-height: var(--f7-list-item-min-height);
    --f7-list-item-divider-border-color: transparent;
    --f7-list-item-divider-font-size: inherit;
    --f7-list-item-divider-font-weight: normal;
    --f7-list-item-divider-height: var(--f7-list-item-min-height);
    --f7-list-item-header-text-color: var(--f7-block-header-text-color);
    --f7-list-item-footer-text-color: var(--f7-block-footer-text-color);
}

.aurora, .ios, .md {
    --f7-list-item-border-color: rgba(0, 0, 0, 0.12);
}

.aurora .dark, .aurora.dark, .ios .dark, .ios.dark, .md .dark, .md.dark {
    --f7-list-item-border-color: rgba(255, 255, 255, 0.12);
    --f7-list-item-divider-border-color: transparent;
    --f7-list-item-header-text-color: var(--f7-block-header-text-color);
    --f7-list-item-footer-text-color: var(--f7-block-footer-text-color);
}

ul {
    padding-inline-start: 32px;
}

.list .item-after {
    flex-shrink: 1;
    text-align: right;
    white-space: normal;
}

[dir=rtl] .list .item-after {
    text-align: left;
}

.list .item-subtitle {
    white-space: normal;
}

.aurora .list .item-media, .ios .list .item-media, .md .list .item-media {
    justify-content: center;
    min-width: 24px;
}

.list.inset .item-divider:first-child {
    border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}

.list.inset .item-divider:last-child {
    border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}

.list.inset .list-group ul {
    border-radius: 0;
}

.list.inset .list-group:first-child ul {
    border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}

.list.inset .list-group:last-child ul {
    border-radius: 0 0 var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius);
}

.list.inset .list-group:first-child .list-group-title:first-child {
    border-radius: var(--f7-list-inset-border-radius) var(--f7-list-inset-border-radius) 0 0;
}

.simple-list li {
    height: auto;
    line-height: inherit;
    padding-bottom: 8px;
    padding-top: 8px;
    white-space: normal;
}

.cards-list li {
    background-color: var(--f7-list-bg-color);
    border-radius: inherit;
    margin: calc(var(--f7-typography-margin) / 2) 0;
}

.cards-list li:first-child {
    margin-top: 0;
}

.cards-list li:last-child {
    margin-bottom: 0;
}

.cards-list.inset li {
    border-radius: var(--f7-list-inset-border-radius);
}

.cards-list > ul.row > li {
    margin: calc(var(--f7-typography-margin) / 2) 0;
}

.cards-list .item-link.active-state {
    border-radius: inherit !important;
}

.aurora.device-desktop .links-list a:hover:not(.active-state):not(.no-hover), .aurora.device-desktop .list .item-link:not(.item-selected):hover:not(.active-state):not(.no-hover) {
    border-radius: inherit;
}

.cards-list .item-inner:after {
    display: none !important;
}
/*
|------------------------------------------------------------------------------
| Accordion
|------------------------------------------------------------------------------
*/

[dir=rtl] .accordion-opposite .accordion-item-toggle.item-content:before,
[dir=rtl] .accordion-opposite .accordion-item-toggle > .item-content:before,
[dir=rtl] .accordion-opposite .accordion-item > .item-content:before,
[dir=rtl] .accordion-opposite .accordion-item > .item-link > .item-content:before,
[dir=rtl] .accordion-opposite.links-list .accordion-item > a:before {
    transform: translateX(50%);
}

.accordion-item.custom-toggle-icon > .item-content > .item-inner,
.accordion-item.custom-toggle-icon > .item-link > .item-content > .item-inner {
    --f7-list-chevron-icon-area: 0px;
}

.accordion-item.custom-toggle-icon > .item-content > .item-inner:before,
.accordion-item.custom-toggle-icon > .item-content > .item-inner > .item-title-row:before ,
.accordion-item.custom-toggle-icon > .item-link > .item-content > .item-inner:before,
.accordion-item.custom-toggle-icon > .item-link > .item-content > .item-inner > .item-title-row:before {
    display: none;
}

.accordion-opposite .accordion-item.custom-toggle-icon > .item-content,
.accordion-opposite .accordion-item.custom-toggle-icon > .item-link > .item-content {
    --f7-list-chevron-icon-area: 0px;
}

.accordion-opposite .accordion-item.custom-toggle-icon > .item-content:before,
.accordion-opposite .accordion-item.custom-toggle-icon > .item-link > .item-content:before {
    display: none;
}

.accordion-item.accordion-item-opened.custom-toggle-icon .toggle-icon-open {
    display: none;
}

.accordion-item.accordion-item-opened.custom-toggle-icon .toggle-icon-close {
    display: inline-block;
}

.accordion-item:not(.accordion-item-opened).custom-toggle-icon .toggle-icon-open {
    display: inline-block;
}

.accordion-item:not(.accordion-item-opened).custom-toggle-icon .toggle-icon-close {
    display: none;
}

.accordion-opposite .accordion-item.custom-toggle-icon > .item-content > .item-inner,
.accordion-opposite .accordion-item.custom-toggle-icon > .item-link > .item-content > .item-inner {
    justify-content: flex-start;
}

.accordion-opposite .accordion-item.custom-toggle-icon > .item-content > .item-inner .item-title,
.accordion-opposite .accordion-item.custom-toggle-icon > .item-link > .item-content > .item-inner .item-title {
    order: 2;
}

.accordion-opposite .accordion-item.custom-toggle-icon > .item-content > .item-inner .item-after,
.accordion-opposite .accordion-item.custom-toggle-icon > .item-link > .item-content > .item-inner .item-after {
    margin-left: 0;
    margin-right: 0;
    order: 1;
    padding-left: 0;
    padding-right: var(--f7-list-item-after-padding);
}

[dir=rtl] .accordion-opposite .accordion-item.custom-toggle-icon > .item-content > .item-inner .item-after,
[dir=rtl] .accordion-opposite .accordion-item.custom-toggle-icon > .item-link > .item-content > .item-inner .item-after {
    padding-left: var(--f7-list-item-after-padding);
    padding-right: 0;
}

.cards-list li.accordion-item {
    margin: calc(var(--f7-list-margin-vertical) / 4) 0;
}

.accordion-item-opened .item-title[class*='color-'] {
    color: var(--f7-theme-color);
}

.accordion-item-content {
    font-size: 15px;
}
/*
|------------------------------------------------------------------------------
| Body
|------------------------------------------------------------------------------
*/

:root {
    --f7-font-size: 16px;
    --f7-body-bg-color: #ECEFF1;
}

:root .dark, :root.dark {
    --f7-body-bg-color: #000000;
}

html {
    overscroll-behavior-y: contain;
}

body {
    background: var(--f7-body-bg-color);
}

.bg-color-body {
    background-color: var(--f7-body-bg-color) !important;
}

.text-color-body {
    color: var(--f7-text-color) !important;
}
/*
|------------------------------------------------------------------------------
| Form Input
|------------------------------------------------------------------------------
*/
.item-input-wrap {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
}

.item-input-wrap > * + * {
    margin-left: 8px !important;
    margin-right: 0 !important;
}

[dir=rtl] .item-input-wrap > * + * {
    margin-left: 0 !important;
    margin-right: 8px !important;
}

.item-input-wrap input, .item-input-wrap select, .item-input-wrap textarea {
    flex-basis: 0;
    flex-grow: 1;
    flex-shrink: 1;
}

.item-input-wrap > textarea ~ * {
    align-self: flex-start;
    margin-top: 8px;
}

.item-input-wrap .input-clear-button {
    bottom: unset;
    left: unset;
    margin-top: unset;
    position: relative;
    right: unset;
    top: unset;
}

.item-input-wrap .input-clear-button .ripple-wave {
    position: absolute;
}

.item-input-wrap > textarea ~ .input-clear-button {
    margin-top: calc(var(--f7-textarea-padding-vertical) * 1.375);
}

.item-input-wrap .input-info, .item-input-wrap .item-input-info,
.item-input-wrap .input-error-message, .item-input-wrap .item-input-error-message {
    display: flex;
    flex-basis: 100%;
    margin-left: 0.1px !important;
    margin-right: 0 !important;
    order: 99;
}

.item-input-outline .item-input-info,
.item-input-outline .item-input-error-message {
    left: unset;
    padding-left: 0;
    padding-right: 0;
    right: unset;
}

.aurora .input-outline .input-info, .aurora .input-outline .item-input-info,
.aurora .item-input-outline .input-info, .aurora .item-input-outline .item-input-info,
.ios .input-outline .input-info, .ios .input-outline .item-input-info,
.ios .item-input-outline .input-info, .ios .item-input-outline .item-input-info {
    margin-bottom: calc(-1.25 * var(--f7-input-info-font-size) * var(--f7-input-info-line-height));
}

.aurora .input-outline .input-error-message, .aurora .input-outline .item-input-error-message,
.aurora .item-input-outline .input-error-message, .aurora .item-input-outline .item-input-error-message,
.ios .input-outline .input-error-message, .ios .input-outline .item-input-error-message,
.ios .item-input-outline .input-error-message, .ios .item-input-outline .item-input-error-message {
    margin-bottom: calc(-1.25 * var(--f7-input-error-font-size) * var(--f7-input-error-line-height));
    margin-top: 0px; /* liviu */
}

.aurora .input-outline .input-info, .aurora .input-outline .input-error-message,
.aurora .input-outline .item-input-info, .aurora .input-outline .item-input-error-message,
.aurora .item-input-outline .input-info, .aurora .item-input-outline .input-error-message,
.aurora .item-input-outline .item-input-info, .aurora .item-input-outline .item-input-error-message,
.ios .input-outline .input-info, .ios .input-outline .input-error-message,
.ios .input-outline .item-input-info, .ios .input-outline .item-input-error-message,
.ios .item-input-outline .input-info, .ios .item-input-outline .input-error-message,
.ios .item-input-outline .item-input-info, .ios .item-input-outline .item-input-error-message {
    white-space: nowrap;
}

.item-input-wrap :not(.input-invalid) ~ .input-error-message,
.item-input-wrap :not(.input-invalid) ~ .item-input-error-message {
    display: none;
}


/*
|------------------------------------------------------------------------------
| Form Validator
|------------------------------------------------------------------------------
*/

:root {
    --f7-input-error-text-color: var(--f7-color-red);
}

/*
|------------------------------------------------------------------------------
| Gauge
|------------------------------------------------------------------------------
*/

.gauge {
    position: relative;
}

/*
|------------------------------------------------------------------------------
| Grid
|------------------------------------------------------------------------------
*/

[dir=rtl] .col > .resize-handler, [dir=rtl] [class*=col-] > .resize-handler {
    left: auto;
    right: 100%;
}

@media (max-width: 479.98px) {
    .xsmall-show {
        display: none !important;
    }
}

@media (min-width: 480px) {
    .xsmall-hide {
        display: none !important;
    }
}

@media (max-width: 567.98px) {
    .small-show {
        display: none !important;
    }
}

@media (min-width: 568px) {
    .small-hide {
        display: none !important;
    }
}

@media (max-width: 767.98px) {
    .medium-show {
        display: none !important;
    }
}

@media (min-width: 768px) {
    .medium-hide {
        display: none !important;
    }
}

@media (max-width: 1023.98px) {
    .large-show {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    .large-hide {
        display: none !important;
    }
}

@media (max-width: 1199.98px) {
    .xlarge-show {
        display: none !important;
    }
}

@media (min-width: 1200px) {
    .xlarge-hide {
        display: none !important;
    }
}
/*
|------------------------------------------------------------------------------
| Line Divider
|------------------------------------------------------------------------------
*/

.line-divider {
    align-items: center;
    border: none;
    color: var(--f7-color-gray);
    display: flex;
    flex-direction: row;
    font-size: 14px;
    justify-content: center;
    text-align: center;
}

.line-divider[class*='color-'] {
    color: var(--f7-theme-color);
}

.line-divider:before, .line-divider:after {
    border-top-color: var(--f7-list-border-color);
    border-top-style: solid;
    border-top-width: 1px;
    content: '';
    flex-grow: 1;
    margin: 0.75em 0;
    position: relative;
}

.line-divider.line-dashed:before, .line-divider.line-dashed:after {
    border-top-style: dashed;
}

.line-divider.line-dotted:before, .line-divider.line-dotted:after {
    border-top-style: dotted;
}

.line-divider[class*='color-']:before, .line-divider[class*='color-']:after {
    border-top-color: var(--f7-theme-color);
}

.line-divider > * {
    margin: 0 var(--f7-typography-margin);
}
/*
|------------------------------------------------------------------------------
| Keypad
|------------------------------------------------------------------------------
*/

:root {
    --f7-keypad-inline-height: 210px;
    --f7-keypad-landscape-height: 260px;
    --f7-keypad-bg-color: #CED4DC;
    --f7-keypad-button-bg-color: #FFFFFF;
    --f7-keypad-button-pressed-bg-color: #ADBBCA;
    --f7-keypad-button-dark-bg-color: transparent;
    --f7-keypad-button-dark-pressed-bg-color: var(--f7-keypad-button-pressed-bg-color);
    --f7-keypad-button-number-font-size: 22px;
    --f7-keypad-button-letters-font-size: 10px;
    --f7-keypad-button-spacing: 4px;
}

:root .dark, :root.dark {
    --f7-keypad-bg-color: #292930;
    --f7-keypad-button-bg-color: #6A6E71;
    --f7-keypad-button-pressed-bg-color: #464646;
    --f7-keypad-button-text-color: #FFFFFF;
}

.keypad {
    background-color: var(--f7-keypad-bg-color);
}

.keypad-buttons {
    padding: var(--f7-keypad-button-spacing);
}

.keypad-button {
    border-radius: 6px;
    height: calc(25% - calc(var(--f7-keypad-button-spacing) * 2));
    margin: var(--f7-keypad-button-spacing);
    width: calc(calc(100% / 3) - calc(var(--f7-keypad-button-spacing) * 2));
}

.keypad-button:before, .keypad-button:after {
    content: none;
}

.keypad-button-letters {
    font-weight: 600;
    height: 16px;
    letter-spacing: 1px;
    line-height: 16px;
}

.dark i.icon-keypad-delete {
    background-image: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 16'><path d='M18,0h-8C8.9,0,7.9,0.5,7.1,1.2c0,0,0,0,0,0L1,7.2C0.6,7.7,0.6,8.4,1,8.8l4.9,4.7L7,14.6c0,0,0,0,0,0c0.7,0.9,1.8,1.4,3,1.4 h8c2.2,0,4-1.8,4-4V4C22,1.8,20.2,0,18,0z M17.3,11.2l-0.7,0.7l-3.2-3.2l-3.2,3.2l-0.7-0.7L12.8,8L9.6,4.8l0.7-0.7l3.2,3.2l3.2-3.2 l0.7,0.7L14.2,8L17.3,11.2z' fill='%23FFFFFF'/></svg>");
}

[dir=rtl] i.icon-keypad-delete {
    transform: scaleX(-1);
}

.keypad-inline {
    --f7-keypad-bg-color: transparent;
}

.keypad-inline .keypad-buttons {
    height: calc(var(--f7-keypad-inline-height) - calc(var(--f7-keypad-button-spacing) * 2));
}

.keypad-popover .popover-angle.on-bottom:after {
    background: var(--f7-keypad-bg-color);
}

.keypad-popover .popover-angle.on-top:after {
    background: var(--f7-bars-bg-color);
}

.keypad-popover .toolbar {
    border-radius: var(--f7-popover-border-radius) var(--f7-popover-border-radius) 0 0;
}

.ios .keypad-popover .toolbar {
    background-color: var(--f7-bars-bg-color);
}

.keypad-popover .keypad {
    border-radius: var(--f7-popover-border-radius);
    overflow: hidden;
    position: relative;
}

@media (orientation: landscape) and (max-height: 415px) {
    .keypad-sheet {
        height: calc(var(--f7-safe-area-bottom) + var(--f7-keypad-landscape-height));
    }
}

.keypad-inline .toolbar ~ .keypad-buttons, .keypad-popover .keypad .toolbar ~ .keypad-buttons, .keypad-sheet .toolbar ~ .keypad-buttons {
    height: calc(100% - var(--f7-toolbar-height) - calc(var(--f7-keypad-button-spacing) * 2));
}

.keypad-inline .keypad-buttons, .keypad-sheet .keypad-buttons {
    padding-left: calc(var(--f7-keypad-button-spacing) + var(--f7-safe-area-left));
    padding-right: calc(var(--f7-keypad-button-spacing) + var(--f7-safe-area-right));
}

.keypad-type-custom .keypad-buttons {
    overflow-y: auto;
}

.keypad-type-calculator {
    --f7-keypad-button-dark-bg-color: var(--color-gray-300);
    --f7-keypad-button-dark-pressed-bg-color: var(--color-gray-400);
}

.keypad-type-calculator .keypad-button.keypad-button-dark {
    color: #000000;
}

.keypad-type-calculator .keypad-button {
    height: calc(20% - calc(var(--f7-keypad-button-spacing) * 2));
    width: calc(calc(100% / 4) - calc(var(--f7-keypad-button-spacing) * 2));
}

.keypad-type-calculator .keypad-button.keypad-button-double {
    width: calc(50% - calc(var(--f7-keypad-button-spacing) * 2));
}

.keypad-button.calc-operator-button.calc-operator-active {
    background-color: #FFFFFF;
    border: none;
    color: var(--f7-keypad-calc-button-bg-color);
}
/*
|------------------------------------------------------------------------------
| Button
|------------------------------------------------------------------------------
*/

:root {
    --f7-button-min-width: auto;
    --f7-button-small-outline-border-width: 1px;
}

:root .dark, :root.dark {
    --f7-button-raised-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.24), 0 1px 2px rgba(0, 0, 0, 0.48);
}

.aurora, .ios, .md {
    --f7-button-font-size: 14px;
    --f7-button-font-weight: 500;
    --f7-button-large-font-size: 14px;
    --f7-button-large-font-weight: 600;
    --f7-button-small-font-size: 12px;
    --f7-button-small-font-weight: normal;
    --f7-button-padding-horizontal: 16px;
}

.aurora {
    --f7-button-letter-spacing: 0.025em;
}

.ios {
    --f7-button-height: 36px;
    --f7-button-letter-spacing: 0.01em;
    --f7-segmented-strong-button-text-transform: uppercase;
}

.ios .button-small-ios.button-fill, .ios .button-small.button-fill, .ios .button-small.button-fill-ios {
    --f7-button-pressed-bg-color: var(--f7-theme-color-tint);
    --f7-button-pressed-text-color: var(--f7-button-text-color);
}

.button-fade {
    --f7-button-bg-color: rgba(var(--f7-theme-color-rgb), 0.125);
}

.button-preloader.button-loading {
    pointer-events: none;
}

.button-icon {
    height: var(--f7-button-height);
    width: var(--f7-button-height);
}

.button > :not(.ripple-wave) + * {
    margin-left: 4px;
    margin-right: 0;
}

[dir=rtl] .button > :not(.ripple-wave) + * {
    margin-left: 0;
    margin-right: 4px;
}

.button-social {
    justify-content: space-between;
}

.button-social > span:not(.icon) {
    flex-grow: 1;
}

.button > img, .button > svg {
    height: calc((var(--f7-button-height) - var(--f7-button-padding-horizontal)) / 1.5);
}

.button-large > img, .button-large > svg {
    height: calc((var(--f7-button-height) - var(--f7-button-padding-horizontal)) / 1.75);
}

.button-small > img, .button-small > svg {
    height: calc((var(--f7-button-height) - var(--f7-button-padding-horizontal)) / 1.25);
}

.segmented-strong .button {
    --f7-touch-ripple-color: rgba(var(--f7-color-gray-rgb), 0.25);
}

.aurora .segmented-round, .ios .segmented-round, .md .segmented-round {
    border-radius: var(--f7-button-large-height);
}

.segmented-round .segmented-highlight {
    border-radius: inherit;
}

[dir=rtl] .aurora .segmented-strong-aurora .segmented-highlight,
[dir=rtl] .ios .segmented-strong-ios .segmented-highlight,
[dir=rtl] .md .segmented-strong-md .segmented-highlight,
[dir=rtl] .segmented-strong .segmented-highlight {
    left: auto;
    transform: translateX(calc(var(--f7-segmented-highlight-active) * -100% - var(--f7-segmented-highlight-active) * var(--f7-segmented-highlight-between)));
}

.segmented-strong .button.button-active,
.segmented-strong .button.tab-link-active {
    --f7-button-hover-bg-color: transparent;
}

.segmented-strong[class*='color-'] .button.button-active,
.segmented-strong[class*='color-'] .button.tab-link-active {
    --f7-button-bg-color: var(--f7-theme-color);
    color: #FFFFFF;
}

.segmented-strong[class*='color-'] .segmented-highlight {
    --f7-segmented-strong-button-active-box-shadow: 0px 2px 2px rgba(var(--f7-theme-color-rgb), 0.25);
}

.aurora.device-desktop .segmented-strong[class*='color-'] .button:not(.active-state):not(.no-hover):hover {
    background-color: var(--f7-theme-color);
}

.aurora.device-desktop .segmented-strong[class*='color-'] .button:not(.button-active):not(.tab-link-active):not(.active-state):not(.no-hover):hover {
    background-color: rgba(0, 0, 0, 0.04);
}
/*
|------------------------------------------------------------------------------
| State Toggle
|------------------------------------------------------------------------------
*/

.state-toggle .state-active, .state-toggle .state-inactive {
    margin: 0 !important;
}

.state-toggle:not(.state-toggle-active) .state-active {
    display: none;
}

.state-toggle.state-toggle-active .state-inactive {
    display: none;
}
.state-toggle{
    top: 50%;
    border: none;
    padding: 0;
    margin: 0;
    outline: 0;
    z-index: 1;
    cursor: pointer;
    opacity: 1;
    visibility: visible;
    transition-duration: .1s;
    position: absolute;
    width: var(--f7-input-clear-button-size);
    height: var(--f7-input-clear-button-size);
    margin-top: calc(-1 * var(--f7-input-clear-button-size) / 2);
    color: var(--f7-input-clear-button-color);
    right: 0;
}
/*
|------------------------------------------------------------------------------
| Note
|------------------------------------------------------------------------------
*/

.note {
    align-items: flex-start;
    background-color: var(--f7-block-strong-bg-color);
    box-sizing: border-box;
    color: var(--f7-text-color);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: calc(var(--f7-block-margin-vertical) / 2) 0;
    padding-bottom: calc(var(--f7-block-padding-vertical) / 1.5);
    padding-left: calc(var(--f7-block-padding-horizontal) / 1.5 + var(--f7-safe-area-left));
    padding-right: calc(var(--f7-block-padding-horizontal) / 1.5 + var(--f7-safe-area-right));
    padding-top: calc(var(--f7-block-padding-vertical) / 1.5);
}

.block-strong .note {
    border: 2px solid var(--f7-color-mono);
    border-radius: var(--f7-block-inset-border-radius);
}

.block-strong .note[class*='color-'] {
    border-color: var(--f7-theme-color);
}

.note.inset {
    border-radius: var(--f7-block-inset-border-radius);
    margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
    margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
    --f7-safe-area-left: 0px;
    --f7-safe-area-right: 0px;
}

.note-fade[class*='color-'] {
    background-color: rgba(var(--f7-theme-color-rgb), 0.15);
}

.note-fill[class*='color-'] {
    background-color: var(--f7-theme-color);
}

.note-outline {
    border: 2px solid var(--f7-color-mono);
}

.note-outline[class*='color-'] {
    border-color: var(--f7-theme-color);
}

.note > * + * {
    margin-left: 8px;
    margin-right: 0;
}

[dir=rtl] .note > * + * {
    margin-left: 0;
    margin-right: 8px;
}

.note > .note-media i, .note > .note-media .icon {
    font-size: 40px;
}

.note[class*='color-'] > .note-media i, .note[class*='color-'] > .note-media .icon {
    color: var(--f7-theme-color);
}

.note-fill[class*='color-'] > .note-media i, .note-fill[class*='color-'] > .note-media .icon {
    color: #FFFFFF;
}

.note-media img, .note-media > svg {
    height: auto;
    width: 40px;
}

.note-content {
    flex: 1;
    font-size: 16px;
    width: 100%;
}

.note[class*='color-'] .note-content {
    color: var(--f7-theme-color);
}

.note-fill[class*='color-'] .note-content {
    color: #FFFFFF;
}

.note-title {
    font-size: 16px;
    font-weight: 600;
}

.note[class*='color-'] .note-title {
    color: var(--f7-theme-color);
}

.note-fill[class*='color-'] .note-title {
    color: #FFFFFF;
}

.note-title + .note-message {
    color: var(--f7-block-header-text-color);
    font-size: 14px;
}

.note[class*='color-'] .note-title + .note-message {
    color: rgba(var(--f7-theme-color-rgb), 0.75);
}

.note-fill[class*='color-'] .note-title + .note-message {
    color: rgba(255, 255, 255, 0.75);
}

.note-actions {
    align-self: center;
    display: flex;
}

.note-content .note-actions {
    margin-top: 8px;
}

.note-action + .note-action {
    margin-left: 8px;
    margin-right: 0;
}

[dir=rtl] .note-action + .note-action {
    margin-left: 0;
    margin-right: 8px;
}

.note-close {
    color: var(--f7-color-mono);
    height: 18px;
    line-height: 1;
    --f7-touch-ripple-color: rgba(var(--f7-color-black-rgb), 0.25);
}

.note[class*='color-'] .note-close {
    color: var(--f7-theme-color);
    --f7-touch-ripple-color: rgba(var(--f7-theme-color-rgb), 0.25);
}

.note-fill[class*='color-'] .note-close {
    color: #FFFFFF;
}

.note-close:after {
    color: inherit;
    content: 'notification_close_ios';
    font-family: 'framework7-core-icons';
    font-size: 8px;
}

.note-actions + .note-close:after {
    content: 'delete_md';
    font-size: 12px;
}
/*
|------------------------------------------------------------------------------
| Floating Action Button
|------------------------------------------------------------------------------
*/

:root {
    --f7-fab-label-font-size: 14px;
}

.aurora, .ios, .md {
    --f7-fab-extended-text-font-weight: 600;
    --f7-fab-extended-text-letter-spacing: 0.05em;
}

.fab:not(.fa-brands) {
    font-family: var(--f7-font-family);
}

.fab-label-button > span:not(.fab-label) {
    overflow: hidden;
    white-space: nowrap;
}

.fab-label {
    max-width: 192px;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fab-center-top .fab-buttons-bottom .fab-label, .fab-center-top .fab-buttons-top .fab-label,
.fab-center-center .fab-buttons-bottom .fab-label, .fab-center-center .fab-buttons-top .fab-label,
.fab-center-bottom .fab-buttons-bottom .fab-label, .fab-center-bottom .fab-buttons-top .fab-label {
    left: 125%;
}

[dir=rtl] .fab-center-top .fab-buttons-bottom .fab-label, [dir=rtl] .fab-center-top .fab-buttons-top .fab-label,
[dir=rtl] .fab-center-center .fab-buttons-bottom .fab-label, [dir=rtl] .fab-center-center .fab-buttons-top .fab-label,
[dir=rtl] .fab-center-bottom .fab-buttons-bottom .fab-label, [dir=rtl] .fab-center-bottom .fab-buttons-top .fab-label {
    left: auto;
    right: 125%;
}

.fab-buttons-left a:nth-child(even) .fab-label, .fab-buttons-right a:nth-child(even) .fab-label,
.fab-buttons-left a:nth-child(even) .fab-label, .fab-buttons-right a:nth-child(even) .fab-label,
.fab-buttons-left a:nth-child(even) .fab-label, .fab-buttons-right a:nth-child(even) .fab-label {
    top: 150%;
}

.fab-buttons-left a:nth-child(odd) .fab-label, .fab-buttons-right a:nth-child(odd) .fab-label,
.fab-buttons-left a:nth-child(odd) .fab-label, .fab-buttons-right a:nth-child(odd) .fab-label,
.fab-buttons-left a:nth-child(odd) .fab-label, .fab-buttons-right a:nth-child(odd) .fab-label {
    top: -50%;
}

.fab-buttons-left .fab-label, .fab-buttons-right .fab-label {
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto;
}

.fab-center-center .fab-buttons-center a:nth-child(1) .fab-label {
    top: -50%;
}

.fab-center-center .fab-buttons-center a:nth-child(2) .fab-label {
    left: 125%;
}

.fab-center-center .fab-buttons-center a:nth-child(3) .fab-label {
    top: 150%;
}

.fab-center-center .fab-buttons-center a:nth-child(4) .fab-label {
    right: 125%;
}
/*
|------------------------------------------------------------------------------
| Toast
|------------------------------------------------------------------------------
*/

:root {
    --f7-toast-icon-size: 1.75em;
}

:root .dark, :root.dark {
    --f7-toast-text-color: #000000;
}

.aurora, .ios, .md {
    --f7-toast-bg-color: #323232;
    --f7-toast-button-min-width: auto;
}

.aurora .dark, .aurora.dark, .ios .dark, .ios.dark, .md .dark, .md.dark {
    --f7-toast-bg-color: #FAFAFA;
}

.ios .dark, .ios.dark {
    --f7-toast-bg-color-rgb: 250, 250, 250;
}

.md {
    --f7-toast-padding-horizontal: 16px;
}

.aurora .toast.toast-round, .ios .toast.toast-round, .md .toast.toast-round {
    border-radius: calc(var(--f7-toast-border-radius) * 8);
}

.toast[class*='color-'] {
    background-color: var(--f7-theme-color);
    color: #FFFFFF;
}

.ios .toast {
    border-radius: var(--f7-toast-border-radius);
}

@media (max-width: 568px) {
    .ios .toast {
        left: 8px;
        width: calc(100% - 16px);
    }

    .ios .toast.toast-top {
        margin-top: var(--f7-safe-area-top);
        top: 8px;
    }

    .ios .toast.toast-bottom {
        bottom: calc(8px + var(--f7-safe-area-bottom));
    }

    .ios .toast.toast-top .toast-content {
        padding-top: var(--f7-toast-padding-vertical);
    }

    .ios .toast.toast-bottom .toast-content {
        padding-bottom: var(--f7-toast-padding-vertical);
    }
}

.toast-button {
    text-transform: uppercase;
}

.ios .toast-button, .md .toast-button {
    margin-left: 16px;
    margin-right: 0;
}

[dir=rtl].ios .toast-button, [dir=rtl].md .toast-button {
    margin-left: 0;
    margin-right: 16px;
}

.toast[class*='color-'] .toast-button {
    color: #FFFFFF;
}

.toast .toast-button[class*='color-'] {
    color: var(--f7-theme-color);
}

.toast-with-icon.icon-position-start .toast-content {
    display: flex;
    justify-content: flex-start;
}

.toast-with-icon.icon-position-start .toast-icon + .toast-text {
    margin-left: 6px;
    margin-right: 0;
}

[dir=rtl] .toast-with-icon.icon-position-start .toast-icon + .toast-text {
    margin-left: 0;
    margin-right: 6px;
}

.toast-center .toast-text {
    text-align: center;
}

/*
|------------------------------------------------------------------------------
| Checkbox & Radio
|------------------------------------------------------------------------------
*/

.checkbox,
.radio {
    --f7-touch-ripple-color: transparent;
}

.checkbox-inline,
.radio-inline {
    display: inline-flex;
}

.aurora .checkbox-inline, .md .checkbox-inline,
.aurora .radio-inline, .md .radio-inline {
    line-height: 1;
}

.checkbox-inline > .icon-checkbox,
.radio-inline > .icon-radio {
    margin-left: 0;
    margin-right: 4px;
}

[dir=rtl] .checkbox-inline > .icon-checkbox,
[dir=rtl] .radio-inline > .icon-radio {
    margin-left: 4px;
    margin-right: 0;
}

.checkbox-list .item-checkbox,
.radio-list .item-radio {
    padding: 0;
}

.checkbox-list .item-inner,
.radio-list .item-inner {
    margin: 0;
    padding: var(--f7-list-item-padding-vertical) calc(var(--f7-list-item-padding-horizontal) + var(--f7-safe-area-left) - var(--menu-list-offset)) !important;
}

.checkbox-list .item-checkbox, .checkbox-list .item-checkbox .item-inner,
.radio-list .item-radio, .radio-list .item-radio .item-inner {
    border-radius: inherit;
}

.checkbox-list.checkbox-fill .item-checkbox input:checked ~ .item-inner,
.radio-list.radio-fill .item-radio input:checked ~ .item-inner {
    background-color: var(--f7-theme-color) !important;
    color: #FFFFFF !important;
}

.checkbox-list.checkbox-fill .item-checkbox input:checked ~ .item-inner .icon-checkbox {
    --f7-checkbox-active-color: #FFFFFF;
    --f7-checkbox-icon-color: var(--f7-theme-color);
}

.radio-list.radio-fill .item-radio input:checked ~ .item-inner .icon-radio {
    --f7-radio-active-color: #FFFFFF;
}

.aurora .radio-list.radio-fill .item-radio input:checked ~ .item-inner .icon-radio:after {
    background-color: var(--f7-theme-color);
}

.checkbox-list.checkbox-outline .item-checkbox input ~ .item-inner,
.radio-list.radio-outline .item-radio input ~ .item-inner {
    border: 2px solid rgba(var(--f7-color-gray-rgb), 0.25);
}

.checkbox-list.checkbox-outline .item-checkbox input:checked ~ .item-inner,
.radio-list.radio-outline .item-radio input:checked ~ .item-inner {
    border-color: var(--f7-theme-color) !important;
}

.checkbox-media,
.radio-media {
    display: inline-block;
    font-size: 14px;
    position: relative;
    text-align: center;
    --f7-checkbox-radio-media-border-color: var(--f7-color-gray);
    --f7-checkbox-radio-media-icon-color: var(--f7-color-gray);
    --f7-checkbox-radio-media-text-color: var(--f7-color-gray);
}

.checkbox-media input,
.radio-media input {
    display: none;
}

.checkbox-media .checkbox-inner,
.radio-media .radio-inner {
    align-items: center;
    border-color: var(--f7-checkbox-radio-media-border-color);
    border-style: solid;
    border-width: 4px;
    box-sizing: border-box;
    color: var(--f7-checkbox-radio-media-text-color);
    display: flex;
    filter: grayscale(1);
    flex-direction: column;
    justify-content: center;
    position: relative;
    text-align: center;
}

.checkbox-media .checkbox-inner:after,
.radio-media .radio-inner:after {
    align-items: center;
    background-color: var(--f7-checkbox-radio-media-icon-color);
    border-radius: 50%;
    color: #FFFFFF;
    content: 'checkbox_md';
    display: flex;
    font-family: framework7-core-icons;
    font-size: 10px;
    height: 16px;
    justify-content: center;
    left: auto;
    opacity: 0;
    position: absolute;
    right: 6px;
    top: 6px;
    width: 16px;
}

[dir=rtl] .checkbox-media .checkbox-inner:after,
[dir=rtl] .radio-media .radio-inner:after {
    left: 6px;
    right: auto;
}

.checkbox-media .checkbox-inner img,
.radio-media .radio-inner img {
    border-radius: inherit;
}

.checkbox-media .checkbox-label,
.radio-media .radio-label {
    color: var(--f7-checkbox-radio-media-text-color);
    margin-top: 2px;
}

.checkbox-media input:checked ~ .checkbox-inner,
.radio-media input:checked ~ .radio-inner {
    --f7-checkbox-radio-media-border-color: var(--f7-theme-color);
    --f7-checkbox-radio-media-text-color: var(--f7-theme-color);
    filter: grayscale(0);
}

.checkbox-media input:checked ~ .checkbox-inner:after,
.radio-media input:checked ~ .radio-inner:after {
    --f7-checkbox-radio-media-icon-color: var(--f7-theme-color);
    opacity: 1;
}

.checkbox-media input:checked ~ .checkbox-label,
.radio-media input:checked ~ .radio-label {
    --f7-checkbox-radio-media-text-color: var(--f7-theme-color);
}

.checkbox-media.no-outline .checkbox-inner,
.radio-media.no-outline .radio-inner {
    border-width: 0;
}

.checkbox-media.no-tick .checkbox-inner:after,
.radio-media.no-tick .radio-inner:after {
    display: none;
}

.checkbox-media.no-grayscale input ~ .checkbox-inner,
.radio-media.no-grayscale input ~ .radio-inner {
    filter: grayscale(0);
}

.item-cards-scrollable {
    overflow: auto;
    display: flex;
    padding-bottom: 12px;
    scrollbar-width: none
}

.item-cards-scrollable::-webkit-scrollbar {
    display: none;
    opacity: 0
}

.item-cards-scrollable .item-card+.item-card {
    margin-left: 12px
}

@media (max-width: 463px) {
    .item-cards:not(.item-cards-scrollable) {
        display:grid;
        grid-template-columns: repeat(2,1fr);
        grid-gap: 12px;
        gap: 12px
    }

    .item-cards:not(.item-cards-scrollable) .item-card {
        width: auto
    }
}

@media (min-width: 464px) {
    .item-cards:not(.item-cards-scrollable) {
        display:flex;
        flex-wrap: wrap
    }

    .item-cards:not(.item-cards-scrollable) .item-card {
        margin-right: 12px;
        margin-bottom: 12px
    }
}

.item-card {
    position: relative;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-shrink: 0;
    box-sizing: border-box;
    color: inherit;
    transition-duration: .1s;
    transition-property: transform,box-shadow;
    width: 204px;
    min-width: 0;
    background: var(--f7-block-strong-bg-color)
}

.ios .item-card {
    box-shadow: 0 10px 20px -14px #48050580
}

.md .item-card {
    border: 1px solid var(--f7-md-outline-variant)
}

.item-card.active-state {
    box-shadow: 0 10px 20px -14px #48050500;
    transform: scale(.95)
}

.item-card-image {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    object-position: center;
    border-radius: 16px 16px 0 0;
    padding: 6px 0px 6px 0px;
}

.item-card-content {
    padding: 0px 6px 12px 6px;
    width: 100%;
    box-sizing: border-box;
    align-self: flex-start;
    text-align: left;
}

.item-card-title {
    font-weight: 600;
    font-size: 14px;
}

.item-card-subtitle,.item-card-price {
    margin-top: 8px
}

.item-card-subtitle {
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    max-height: 40px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box
}

.item-card-price {
    font-size: 20px;
    font-weight: bold
}

.item-card-price span {
    color: var(--f7-theme-color);
    margin-right: 4px
}
.card-icons {
  position: absolute;
  top: 6px;
  right: 6px; /* sau left: 8px pentru colțul stânga-sus */
  display: flex;
  gap: 8px; /* spațiere între icoane */
  z-index: 2;
}
.card-icons img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  padding: 0px;
}