   .dveri-calendar {
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  background: white;
  border-radius: 56px;
  padding: 2rem;
  margin-top: 40px;
}


    .dveri-calendar h1 {
      color: #1565C0;
      margin-bottom: 1rem;
      font-size: 26px;
      font-weight: 500;
    }

    .dveri-filter-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 1rem;
    }

    .dveri-dropdown {
      font-size: 20px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 8px;
      color: #212121;
      position: relative;
  z-index: 10;
    }

    .dveri-dropdown img {
      width: 14px;
      height: 14px;
    }

    .dveri-view-toggle {
      background: none;
      border: 1px solid #2196F3;
      padding: 6px 12px;
      border-radius: 4px;
      font-size: 14px;
      cursor: pointer;
      display: flex;
      align-items: center;
      gap: 6px;
      color: #2196F3;
    }

    .dveri-view-toggle img {
      width: 16px;
      height: 16px;
    }

    .dveri-date-label {
      display: flex;
      align-items: center;
      font-size:20px !important;
         color: #212121;
      margin: 32px 0 16px;
      font-weight: 500;
    }

    .dveri-date-label::after {
      content: "";
      flex: 1;
      height: 1px;
      background: #d5d5d5;
      margin-left: 12px;
    }

    .dveri-event-card {
      display: flex;
      gap: 1rem;
      padding: 1rem;
      border-radius: 8px;
      margin-bottom: 1rem;
      background: #F5F5F5;
      cursor: pointer;
      transition: background-color 0.3s ease;
    }

    .dveri-event-card:hover {
      background: #ECF6FE;
    }

    .dveri-event-card img {
      width: 240px;
      height: 125px;
      object-fit: contain;
      border-radius: 8px;
      background: white;
      overflow: hidden;
    }

    .dveri-event-info {
      flex: 1;
      position: relative;
    }

       .dveri-star-badge {
      position: absolute;
      top: 8px;
      right: 8px;
      user-select: none;
      pointer-events: none;
    }

    .dveri-star-badge img {
      width: 20px;
      height: 20px;
      display: block;
    }

    .dveri-event-date {
      font-size: 20px;
      color: #212121;
      margin-bottom: 4px;
      font-weight: 400;
    }

    .dveri-event-title {
      font-weight: 500;
      font-size: 16px;
      color: #212121;
      margin-bottom: 6px;
          display: -webkit-box;        
  -webkit-line-clamp: 1;       
  -webkit-box-orient: vertical;
  overflow: hidden;            
  text-overflow: ellipsis;  
    }

.dveri-event-decs{
  font-size: 16px  !important;
  color: #5C5C5F !important;
  margin-bottom: 8px;
  font-weight: 400;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dveri-event-desc a {
  font-size: inherit;
  color: inherit !important;
  text-decoration: none;
}

    .dveri-event-meta div {
      display: flex;
      align-items: center;
      font-size: 16px;
      color: #666;
      margin-bottom: 4px;
      font-weight: 400;
      
    }

    .dveri-event-meta img {
      width: 20px;
      height: 20px;
      margin-right: 6px;
      background-color: transparent !important;
    }
@media (max-width: 600px) {
  .dveri-calendar {
    border-radius: 32px;
    padding: 1.5rem;
  }
  .dveri-event-meta img{
    width: 16px !important;
      height: 16px !important;
       margin-right: 6px !important;
  }

  .dveri-calendar h1 {
    font-size: 20px;
    text-align: center;
  }

  .dveri-filter-row {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }

  .dveri-dropdown {
    justify-content: center;
  }

  .dveri-view-toggle {
    justify-content: center;
    font-size: 13px;
    padding: 4px 10px;
  }

  .dveri-date-label {
    font-size: 16px;
    flex-direction: column;
    align-items: flex-start;
  }

  .dveri-date-label::after {
    display: none;
  }

  .dveri-event-card {
    flex-direction: column;
    padding: 0.75rem;
    gap: 0.75rem;
  }

  .dveri-event-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .dveri-event-title,
  .dveri-event-date,
  .dveri-event-decs,
  .dveri-event-meta div {
    font-size: 14px;
  }

  .dveri-event-meta img {
    width: 18px;
    height: 18px;
  }

  .dveri-star-badge {
    top: 6px;
    right: 6px;
  }

  .dveri-star-badge img {
    width: 18px;
    height: 18px;
  }
}


    /*--------------------------------------------*/

.fc .fc-daygrid-day-events {
  margin-top: 28px;
  padding-bottom: 5px; 
}

  
 .fc .fc-daygrid-day.fc-day-today {
  background-color: #FFF8E1 !important;
  border-radius: 1px;
  box-shadow: inset 0 0 0 1px #FFF8E1;
}

    .calendar-container1 {
  max-width: 1100px;
  margin: auto;
  background: #fff;
  border-radius: 56px;
  padding: 32px;
  margin-bottom: 0;
  margin-top: 40px;
  height: auto;
}

.header h2 {
  color: #1565C0;
  font-size: 40px;
  margin: 0 0 8px 0;
}
.calendar-title{
font-weight: 500;
}
.events-title{
font-weight: 600;
  font-family: 'Roboto Serif', serif;

}

.sub-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 30px 0;
}

.view-switch {
  padding: 8px 16px;
  font-size: 16px;
  font-weight: 500;
  border: 1px solid #2196F3;
  border-radius: 6px;
  background: white;
  color: #2196F3;
  cursor: pointer;
}

.view-switch-group {
  display: flex;
  gap: 8px;
}

.view-switch.active {
  background-color: #E3F2FD;
  color: #1565C0;
}



.event-text {
  margin-top: 6px;
  line-height: 1.4;
  font-size: 11px;
  color: #ffffff;
}

.event-text strong {
  color: #212121;
  font-size: 12px;
  font-weight: 600;
}

.event-text .icon {
  font-size: 12px;
  margin-right: 4px;
}

.multiday-event {
  position: absolute;
  top: 24px;
  left: 0;
  background: #e8dccb;
  color: #616161;
  font-size: 12px;
  padding-left: 6px;
  z-index: 1;
  display: block;
  height: auto;
}

.month-selector-wrapper {
  position: relative; /* обязательно! */
  display: inline-block;
}

.month-selector {
  position: relative;
  font-size: 26px;
  font-weight: 400;
  color: #333;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  padding: 8px 12px;
}

.month-dropdown {
  position: absolute;
  top: 200px;     
  left: 220px;
  background: white;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  border-radius: 8px;
  margin-top: 6px;
  z-index: 1000;
  width: 300px;
  user-select: none;
  padding: 10px;
}

.arrow-icon-calendar {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.dropdown-toggle {
  transform: rotate(0deg);
  transition: transform 0.3s ease;
}
.dveri-events-container.grid .dveri-event-card {
  width: calc(50% - 10px); 
}

.month-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 12px;
}

.current-month {
    font-size: 14px;
  font-weight: 400;
  color: #212121;
  position: absolute;
  left: 50%;
  transform: translateX(-50%); 
  pointer-events: none; 
}

.month-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.month-item {
  padding: 8px;
  border-radius: 6px;
  text-align: center;
  cursor: pointer;
  font-size: 13px;
  color: #212121;
  transition: background 0.2s;
  font-weight: 400;
}

.month-item:hover {
  background: #E0E0E0;
}

.month-item.selected {
  background: #FFF3E0;
  font-weight: 400;
  border: 1px solid #FFF3E0;
}
.month-navigation {
  display: flex;
  align-items: center;
  justify-content: space-between; 
  margin-bottom: 12px;
  padding: 0 8px;
  position: relative;
}


.fc-toolbar-chunk,
.fc-header-toolbar,
.fc-toolbar-title {
  display: none !important;
  margin: 40px !important;
  padding: 0 !important;
}
.calendar-wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.fc {
  margin: 0 !important;
  padding: 0 !important;
  position: relative;
  top: -50px !important;
}


.fc {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.fc-theme-standard .fc-scrollgrid-section-header,
.fc .fc-col-header-cell {
  background: transparent !important;
  border-top: none !important;
}

.fc .fc-col-header-cell-cushion {
  color: #000;
  font-weight: 600;
  padding: 10px 0;
  background: transparent !important;
  
}


.fc .fc-scrollgrid,
.fc .fc-scrollgrid-section-header > td,
.fc .fc-daygrid {
  border-top: none !important;
}


.fc .fc-col-header-cell {
  background-color: transparent !important;
  border-top: none !important;
  border-bottom: none !important;
}

.fc .fc-scrollgrid {
  border-top: none !important;
}


.fc .fc-scroller-harness,
.fc .fc-scroller,
.fc .fc-scrollgrid,
.fc .fc-scrollgrid-sync-table,
.fc .fc-daygrid-body,
.fc .fc-daygrid-body-natural,
.fc .fc-timegrid-body,
.fc .fc-list,
.fc .fc-list-empty {
  background-color: transparent !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
}


.fc .fc-daygrid-day {
  background-color: transparent !important;
  border-color: #dedede !important;
}


.fc .fc-list-event,
.fc .fc-list-event:hover,
.fc .fc-list-day-cushion {
  background: transparent !important;
  border: none !important;
}


.fc .fc-scrollgrid-section-header,
.fc .fc-scrollgrid-section-header thead,
.fc .fc-scrollgrid-sync-table thead,
.fc .fc-col-header,
.fc .fc-col-header-cell {
  background-color: transparent !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

.fc .fc-scrollgrid-section-header,
.fc .fc-scrollgrid-section-header thead,
.fc .fc-scrollgrid-sync-table thead,
.fc .fc-col-header,
.fc .fc-col-header-cell {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}


.fc .fc-scrollgrid-sync-table {
  border-right: none !important;
}


.fc .fc-scroller-harness,
.fc .fc-scroller {
  background: transparent !important;
}


.fc .fc-scrollgrid {
  border-top: none !important;
  border-right: none !important;
}

.fc .fc-scrollgrid-sync-table thead,
.fc .fc-scrollgrid-sync-table thead tr,
.fc .fc-scrollgrid-sync-table thead th {
  background-color: transparent !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}


.fc .fc-scrollgrid-sync-table thead th:last-child {
  border-right: none !important;
  box-shadow: none !important;
}


.fc .fc-scrollgrid-sync-table {
  background: transparent !important;
  border-right: none !important;
  box-shadow: none !important;
}

.fc .fc-scrollgrid thead,
.fc .fc-scrollgrid thead tr,
.fc .fc-scrollgrid thead th { 
  background-color: #ffffff; 
}


.fc .fc-col-header-cell {
  text-align: left !important; 
}

.fc .fc-col-header-cell-cushion {
  display: inline-block;
  text-align: left !important;
  font-size: 15px;
  color: #d0d0d0;
  font-weight: 500;
  padding-left: 10px;
  vertical-align: bottom !important; 
  padding-bottom: -60px !important;  
}
.fc .fc-daygrid-body {
  transform: scale(1.0); 
  transform-origin: top center; 
}

.fc .fc-col-header-cell {
  position: relative !important;
  height: 40px !important; 
  padding: 0 !important;
}


.fc .fc-scroller-harness,
.fc .fc-scroller {
  overflow: visible !important;
}
.fc .fc-daygrid-day-frame {
  height: 10px !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}


.fc .fc-scrollgrid {
  border-radius: 1px !important;
  overflow: hidden !important;
  border: 2px solid transparent !important;
}




.fc .fc-col-header {
  background: transparent !important;
  border-radius: 8px 8px 0 0 !important;
}


.fc .fc-daygrid-body {
  border-radius: 0 0 8px 8px !important;
}


.fc .fc-scrollgrid {
  border-right: none !important;
  margin-right: 0 !important;
  padding-right: 0 !important;
  box-shadow: none !important;
}


.fc .fc-daygrid,
.fc .fc-daygrid-body,
.fc .fc-daygrid-day {
  border-right: none !important;
}


.fc .fc-scroller {
  overflow: hidden !important;
}



.fc .fc-scrollgrid {
  overflow: hidden !important;
}


.fc .fc-scrollgrid th:last-child,
.fc .fc-col-header-cell:last-child {
  border-right: none !important;
  box-shadow: none !important;
}


.fc .fc-daygrid-day-number {
  position: absolute;
  top: 4px;
  left: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #000;
  z-index: 1;
}
.fc-daygrid-day{
  min-height: 120px !important;
}
.fc-daygrid-day-frame {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.fc {
  margin-top: 0 !important;
  padding-top: -400px !important;
}


.calendar-wrapper .fc-daygrid-body .fc-daygrid-body-unbalanced  {
  border: 2px solid #E0E0E0;
  border-radius: 8px;
  overflow: hidden; 
}


.fc-theme-standard th {
  border-left: none !important;
  border-right: none !important;
}
.view-switch {
  position: relative;
}

.view-button {
  display: flex;
  align-items: center;
  cursor: pointer;
  background: #fff;
  font-weight: 500;
}

.view-button .icon {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.view-dropdown {
  position: absolute;
  top: 110%;
  left: 0;
  background: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 6px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  z-index: 100;
  width: max-content;
}

.view-option {
  padding: 10px 20px;
  cursor: pointer;
  font-size: 14px;
}

.view-option:hover,
.view-option.selected {
  background: #f0f0f0;
  border-radius: 6px;
}


.fc-event-main {
 /*width: calc(100% * 2 + 1px) !important;
  height: 35px !important;*/
  border-radius: 12px 12px 12px 12px !important;
  font-size: 12px !important;
  color: #9a0101 !important;
  background-color: #e1e1e1 !important;
  background: #e8dccb !important;
  display: block;
  /*top: 25px;*/
  padding-left: 8px;
}

.event-text, .event-text a strong {
font-size: 12px;
color: #616161;
font-weight: 400;
}

.fc-daygrid-event-harness .fc-daygrid-event-harness-abs{
  display: none !important;
}

.fc-event {
  background: transparent;
  border-style: none;
}

.dveri-dropdown-wrapper {
  position: relative;
  display: inline-block;
  flex-direction: column;
  align-items: center; 
}



/*.fc .fc-scrollgrid-section table,
.fc .fc-scrollgrid-sync-table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}


.fc .fc-daygrid,
.fc .fc-daygrid-body,
.fc .fc-daygrid-day {
  border-right: none !important;
  border-left: none !important;
  border-top: none !important;
  border-bottom: none !important;
}


.fc .fc-col-header-cell {
  border: none !important;
  background-color: transparent !important;
}


.fc .fc-scrollgrid th:last-child,
.fc .fc-col-header-cell:last-child {
  border-right: none !important;
  box-shadow: none !important;
}

.fc-daygrid-day-frame {
  height: 100% !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
*/

.place-link {
  font-size: 12px;
  font-weight: 400;
}

.icon-img{
    width: 13px;
  height: 13px;
  cursor: pointer;
}
/*
.fc .fc-daygrid-day {
  border: 2px solid #BDBDBD !important; 
  background-color: transparent !important;
}


.fc .fc-daygrid-body tr > td {
  border: 2px solid #BDBDBD !important;
  padding-bottom: 40px;
  border-radius: 8px !important;
}


.fc .fc-scrollgrid {
  border: 2px solid #BDBDBD !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: none !important;
} */

@media (max-width: 600px) {
  .calendar-container1 {
    padding: 16px;
    border-radius: 24px;
  }

  .header h2 {
    font-size: 24px;
  }

  .sub-header {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }

  .view-switch-group {
    width: 100%;
    justify-content: space-between;
  }
.view-switch {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;   
}

  .dveri-events-container.grid .dveri-event-card {
    width: 100%;
    flex-direction: column;
  }

  .dveri-event-card img {
    width: 100%;
    height: auto;
  }

  .month-selector {
    font-size: 20px;
  }

  .month-dropdown {
    left: 0;
    width: 100%;
  }

  .fc-daygrid-day {
    min-height: 80px !important;
  }

  .fc .fc-daygrid-day-number {
    font-size: 12px;
  }

  .fc-event-main {
    font-size: 10px !important;
    height: 28px !important;
    padding-left: 4px;
  }

  .event-text, .event-text a strong {
    font-size: 10px;
  }

  .month-item {
    font-size: 12px;
  }

  .view-option {
    font-size: 12px;
    padding: 8px 12px;
  }
}


.full-calendar .fc-daygrid-day-frame {
  min-height: 140px;
  display: flex;
  flex-direction: column;
  padding: 6px;
}


.full-calendar .fc-daygrid-event-harness,
.full-calendar .fc-event,
.full-calendar .fc-event-main {
  white-space: normal;
  overflow: visible;
}


.fc-custom-event {
  display: block;
  padding: 4px 6px;
  line-height: 1.1;
  font-size: 12px;
}


.fc-custom-event .event-line {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 1px 0;
  color: #212121;
}


.fc-custom-event .event-logo {
  width: 18px;
  height: 18px;
  object-fit: cover;
  border-radius: 3px;
  flex-shrink: 0;
}


.fc-custom-event .event-title-link {
  text-decoration: none;
  color: inherit;
}


.fc-custom-event .event-line-place .place-label {
  font-weight: 500;
  opacity: 0.9;
}


.full-calendar .fc-daygrid-more-link {
  cursor: pointer;
  font-weight: 600;
}

.fc-event .event-item {
    overflow: hidden;
    text-overflow: ellipsis;
}