@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
     /* font-weight: normal; */
    font-family: "Montserrat", sans-serif;
}

h1{    font-size:clamp(1rem, 6vw, 1.5rem);font-weight: 400; line-height: 30px;}
h2, h3, h4{font-weight: normal;}
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
       font-size: 14px;    
       color: #1d2939;
}
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input, textarea, select {
    font-size: 16px;
}
a{text-decoration: none; transition: all .3s; font-weight: 500; color: #000;}
a:hover {
    color: #6950f3;
}
.two-btns{
        display: flex;
    justify-content: space-between;
    margin: 25px 0;
    align-items: center;
    gap: 15px;
    width: 100%;
}
.two-btns a {
    width: 100%;
    text-align: center;
    background: #f1f1f1;
    border: none;
    border-radius: 10px;
    padding: 10px 0;
    font-size: 13px;
    color: #000000;
}
.two-btns button {
    background: #3f51b5;
    border: none;
    border-radius: 10px;
    width: 100%;
    padding: 10px 0;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
}
/* switch */
.switch-group {
    display: flex;
    align-items: center;
    min-width: 45px;
    justify-content: space-between;
    margin: 0 15px 0 0;
}
.switch {
  position: relative;
  display: inline-block;
  width: 46px; /* Ширина на целия бутон */
  height: 22px; /* Височина на бутона */
  vertical-align: middle;
}

/* Скриваме истинския чекбокс */
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

/* Фона на суича */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: #ccc; /* Сиво когато е изключен */
  transition: .3s;
  border-radius: 34px;
}

/* Кръгчето вътре */
.slider:before {
  position: absolute;
  content: "";
  height: 16px;
  width: 16px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .3s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Цвят при ВКЛЮЧЕНО (checked) */
input:checked + .slider {
  background-color: #6950f3; /* Зелено */
}

/* Движение на кръгчето */
input:checked + .slider:before {
  transform: translateX(24px);
}
/*  */
.link{    margin: 10px 0 0 0;
    display: block;
    color: #3F51B5;;}
.upload-input{
        width: 100%;
    border: 1px solid #ccc;
    padding: 8px;
    border-radius: 5px;
}
hr{       border: 0;
    height: 0;
    width: 100%;
    margin: 20px 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);}

.error{
        background-color: #ffe8ea;
    color: #721c24;
    padding: 20px 10px;
    border: 1px solid #f5c6cb;
    border-radius: 5px;
    margin: 30px 0;
    text-align: center;
}
.ok{
    transition: all 0.5s ease-in-out;
    padding: 20px 10px;
    border: 1px solid #d1e7c6;
    margin: 30px 0;
    border-radius: 10px;
    font-weight: 500;
    text-align: center;
    color: #2c4410;
    background: #ddf4d2;
    width: 100%;
}

.success{
opacity: 0;
    transition: all 0.5s ease-in-out;
    padding: 20px 10px;
    border: 1px solid #d1e7c6;
    margin: 30px 0;
    border-radius: 10px;
    font-weight: 500;
    text-align: center;
    color: #2c4410;
    background: #ddf4d2;
    width: 100%;
    max-width: 800px;
    position: absolute;
    top: -100px;
}
.success.show {
    opacity: 1;
        top: -15px;

}
.fw-bold{font-weight: 500; font-size: 18px;margin-bottom: 10px;}
.save-btn {
    padding: 12px 20px;
    background: #2b7cff;
    border: none;
    width: 100%;
    color:white;
    font-size:16px;
    cursor:pointer;
    border-radius:6px;
}
/* boxes */
.main-box{
border: 1px solid #f2f4f7;
    background: #fdfefe;
    border-radius: 10px;
       padding: 20px;
    margin: 40px 0;
        display: flex;
    flex-direction: column;
    align-items: flex-start;
        gap: 20px;
}
.workhours{width: 100%;}
.day{    display: flex;
    flex-direction: column;
    gap: 20px;
    background: #f7f7f7;
    margin: 0 0 10px 0;
    padding: 15px;
    border-radius: 10px;}
.day span{    display: flex;
    align-items: center;
    gap: 10px;}
  .day span label{    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;}  
.work-from-to{display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;}
.work-from-to select{
    background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    width: 100%;
}
.red{
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-direction: column;
        gap: 10px;
}

.input-field{
    background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    width: 100%;
}
.select-field{
    background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    width: 100%;
    color: #000000;
}
.col-horiz{
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    gap: 10px;
}
/*  */
.col1{
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    gap: 10px;
}
.col1 label{
        width: 100%;
    text-align: left;
}
.col1 input{    background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    width: 100%;}
/*  */
.col2{
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    gap: 10px;
}
.col2 label{
        width: 100%;
    text-align: left;
}
.col2 input{    background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    width: 100%;}
.col2 select{
        background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    width: 100%;
}
.col2-services {
    display: flex;
        justify-content: space-between;
    width: 100%;
    align-items: center;
    gap: 10px;
    background: #f2f4f7;
    padding: 20px 20px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.col2-services label{
        width: 100%;
    text-align: left;
}
.col2-services input, .col2-services select{    background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    /* max-width: 350px; */
    width: 100%;}
.text-field{
        background: #ffffff;
    border: 1px solid #b3b3b3;
    padding: 7px 10px;
    border-radius: 5px;
    line-height: 24px;
    width: 100%;
        min-height: 250px;
}
.edit-del{    width: 80px;
    display: flex;
    justify-content: space-between;}
    .search{display: flex;
    flex-direction: column;
    font-size: 12px;
    width: 100%;}
    .search input{width: 100%;}
.clear-btn{
        background: #cd0707;
    color: #fff;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 5px;
    border: 1px solid #a10303;
}
.list-group{
position: absolute;
    /* width: 100%; */
    padding: 20px;
    border-radius: 10px;
    z-index: 1000;
    display: flex;
    gap: 10px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;
    flex-direction: column;
    background: #fff;
    top: 80px;
    left: 20px;
}
/* dashboard */

/* Хедър */
.header {
    background-color: #fff;
    color: #000000;
   border-bottom: 1px solid #e4e7ec;
    padding: 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu-toggle {
    display: none;

}
.menu-cats{
    font-size: 11px; text-transform: uppercase;
         padding:10px 5px 5px 5px;
    margin-top: 20px;
    color: #666c76;
}
.menu-cats-site{
    font-size: 11px; text-transform: uppercase;
        padding:0 15px 15px 5px;
        color: #666c76;
}
.menu-cats-site a{    display: flex;
    align-items: center;
    gap: 10px;
    margin: 10px 0 15px 0;
}
.menu-cats-site img{
        background: #eaecfb;
    padding: 10px 10px;
    border-radius: 50%;
}
.menu-cats-main{
    font-size: 11px; text-transform: uppercase;
        padding:0 15px 15px 5px;
        color: #666c76;
}
.header-title {
    font-size: 1.25rem;
}

/* Контейнер */
.container {
    display: flex;
    flex: 1;
}

/* Сайдбар */
.sidebar {
      min-width: 290px;
    background-color: #ffffff;
    color: rgb(2, 2, 2);
    transition: transform 0.3s ease;
    border-right: 1px solid #e4e7ec;
    padding: 15px;
}

.sidebar ul.menu {
    list-style: none;
    padding: 0;
}



.sidebar ul.menu li a {
    color: #344054;
    text-decoration: none;
    display: flex;
    padding: 10px 17px;
    font-size: 14px;
    transition: background 0.2s;
    align-items: center;
    gap: 10px;
    margin: 3px 0;
}

.sidebar ul.menu li a:hover {
    background-color: #f2f4f7;
    border-radius: 5px;
}
/* cats */
.cats{    display: flex;
   background: #f0f0f3;
    border-radius: 10px;
    align-items: center;
    padding: 2px;
    justify-content: center;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
/* Подменю */
.has-submenu > .submenu {
    display: none;
    background-color: #3a4e63;
}

.has-submenu.open > .submenu {
    display: block;
}

.submenu li a {
    padding-left: 2rem;
    background-color: #3a4e63;
}

/* Основно съдържание */
.main-content {
    flex: 1;
    padding: 1rem;
    background-color: #f9fafb;
}
/*  */
.content{
       width: 100%;
    max-width: 800px;
    margin: 51px auto;
    line-height: 22px;
    padding: 0 0 45px 0;
}
.content h2{margin-bottom: 20px;}
/* listing */
 
.listing {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    gap: 15px;
    border: 1px solid #f2f4f7;
    background: #fdfefe;
    padding: 20px;
    border-radius: 10px;
}
.listing:hover{    box-shadow: 0 6px 8px rgb(151 151 151 / 10%);
    transform: translateY(-2px);
    transition: all 0.3s ease;}
.list-services{
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}


.remove{background-color: #850f0b; color: #fff; border: 1px solid #700b07; border-radius: 4px; padding: 5px 10px; cursor: pointer;}

@media (max-width: 768px) {
    .col2 {
    flex-direction: column;
}
.col2-services {
    flex-direction: column;
}
.listing {
    flex-direction: column;
}
    .header-title {
    font-size: 1rem;
}

    .row{    flex-direction: column;}
   .sidebar {
        position: fixed; /* Променено от absolute на fixed */
        top: 63px;
        right: 0;       /* Важно, тъй като се отваря отдясно (според translateX(100%)) */
        width: 290px;   /* По-добре width вместо min-width за мобилни */
       
        transform: translateX(100%);
        z-index: 1000;
        border-left: 1px solid #efefef;
        height: 100dvh;
        /* Скрол настройки */
        overflow-y: auto; 
        -webkit-overflow-scrolling: touch; /* Прави скрола плавен на iPhone/iOS */
    }

    .sidebar.open {
        transform: translateX(0);
        box-shadow: -20px 32px 50px rgba(0,0,0,0.2);
               
    }
    .sidebar ul.menu{ padding-bottom: calc(140px + env(safe-area-inset-bottom));display: block; 
        min-height: min-content;}
.container {
    flex-direction: row-reverse;
            overflow-x: hidden;
        position: relative;
}
    .menu-toggle {
           display: flex;
    align-items: center;
    gap: 10px;
    }


}