.calendar > .header {
    border: 1px solid #d3d3d3 !important;
  }
  .days-grid {
    border: 1px solid #d3d3d3 !important;
    border-top: none !important;
  }
  .daynames-row {
    border-left: 1px solid #d3d3d3 !important;
    border-right: 1px solid #d3d3d3 !important;
  }
  .calendar > .header .month-name {
    font: normal normal bold 14px/18px Arial;
    color: #293a88;
  }

  .calendar > .daynames-row > .dayname {
    font: normal normal bold 12px/16px Arial;
    color: #293a88;
  }
  .calendar > .days-grid > .day.today {
    font: normal normal bold 12px / 14px Arial;
  }
  
  .container.lock-plugin
    .calendar
    > .days-grid
    > .day.not-available:not(.start):not(.end) {
    text-decoration: none !important;
    font-style: normal !important;
    background-color: unset !important;
    opacity: 0.5 !important;
  }
  
  .calendar > .days-grid > .day {
    max-width: 60px !important;
    min-width: 32px !important;
    border:2px solid transparent;
  }
  
  .container > footer .footer-buttons > button.apply-button:disabled {
    background-color: #999999 !important;
  }
  .container > footer .footer-buttons > button.cancel-button {
    border-color: #999999 !important;
  }
  
  .calendars:not(.grid-1) .calendar:last-child > .header .next-button > svg {
    fill: #284794 !important;
  }
  
  .calendars:not(.grid-1) .calendar:last-child > .header .prev-button > svg {
    fill: #284794 !important;
  }
  .container.range-plugin .calendar > .days-grid > .day.start {
    border:2px solid #293a88;
    border-radius: 6px 0px 0px 6px;
  }
  .container.range-plugin .calendar > .days-grid > .day.end {
    border-radius: 0px 6px 6px 0px;
    border:2px solid #293a88;
  }
  .container.range-plugin .calendars .calendar > .days-grid > .day.in-range {
    border-top: 2px solid #cdd9ea;
    border-bottom: 2px solid #cdd9ea;
  }
  
  .container:not(.inline).show {
    z-index: unset !important;
    transform: none !important;
    transition: none !important;
    top: 100%;
    margin-top: 30px;
    bottom: unset !important;
  }

  .index-calendar:not(.inline).show {
    top: 100%;
    margin-top: 20px;
    bottom: unset !important;  
  }

  @media (max-width: 992px) {

    .calendar > .days-grid > .day {
      width: 100% !important;
    }
    
    .container:not(.inline).show {
      z-index: 99999 !important;
      bottom: unset !important;
      top: 125px !important;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      max-width: 100vw !important;
      height: calc(100vh - 125px) !important;
      height: calc(100dvh - 125px - env(safe-area-inset-top, 0px)) !important;
      max-height: calc(100dvh - 125px) !important;
      position: fixed !important;
      display: flex !important;
      flex-direction: column !important;
      overflow-y: auto !important;
      background-color: #fff;
      box-sizing: border-box !important;
    }
  
    .calendars {
      flex-direction: column !important;
      width: 100% !important;
      max-width: 100% !important;
    }
  
    .calendar {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 auto !important;
    }
  
    .days-grid {
      width: 100% !important;
      max-width: 100% !important;
    }
    
    .days-grid .day  {
      margin:auto
    }
  }
  
  .container:not(.inline).show {
    left: 50% !important;
    transform:translateX(-50%) !important;
  }
  
  .container.range-plugin .calendar > .days-grid > .day:not(.today):not(.start):not(.end):not(.not-available) {
    color: #111111 !important;
  }
  .calendar > .days-grid > .day.today {
    color: #293a88 !important;
    font-weight: 600 !important;
    font: normal normal bold 14px / 16px Arial;
  }

    
  @media (max-width: 768px) {
    /* dvh + fill-available: avoid iOS toolbar/zoom skew vs 100%/100vh so footer stays visible */
    .container:not(.inline).show {
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      bottom: 0 !important;
      position: fixed !important;
      width: 100% !important;
      max-width: 100vw !important;
      min-height: 100% !important;
      min-height: 100dvh !important;
      min-height: -webkit-fill-available !important;
      height: 100% !important;
      height: 100dvh !important;
      max-height: 100dvh !important;
      transform: none !important;
      margin: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      overflow: hidden !important;
      background: #fff;
      z-index: 99999 !important;
      box-sizing: border-box !important;
    }

    .container > main {
      flex: 1 1 auto;
      min-height: 0;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      padding-bottom: 10px;
      margin-bottom: 0;
    }

    .calendars {
      padding: 0;
      height: auto;
    }

    .calendar {
      padding: 10px 0;
      width: 100% !important;
    }


    .container > footer {
      flex-shrink: 0;
      width: 100%;
      background: #fff;
      padding: 10px 15px;
      padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
      box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
      box-sizing: border-box;
    }

    .container > footer .footer-buttons {
      display: flex;
      justify-content: flex-end;
      gap: 10px;
      width: 100%;
    }

    .container > footer .footer-buttons > button {
      flex: 1;
      max-width: 120px;
      height: 40px;
    }

    /* Fix scrolling issues */
    .container > main::-webkit-scrollbar {
      width: 0px;
      background: transparent;
    }

    /* Ensure calendar grid is properly sized */
    .calendar > .days-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      width: 100%;
    }

    /* Improve touch targets */
    .calendar > .days-grid > .day {
      display: flex;
      align-items: center;
      justify-content: center;
      touch-action: manipulation;
    }

    /* Fix header alignment */
    .calendar > .header {
      padding: 10px 15px;
      align-items: center;
    }

    /* Ensure proper spacing between months */
    .calendars .calendar:not(:last-child) {
      margin-bottom: 15px;
    }

    .index-calendar:not(.inline).show {
      margin-top: 0px;
    }

    /* Hide scrollbar for Chrome, Safari and Opera */
    .container:not(.inline).show::-webkit-scrollbar {
      display: none;
    }

    .calendars {
      display: flex !important;
      flex-direction: column !important;
      width: 100% !important;
    }

    .calendar {
      width: 100% !important;
      margin: 0 !important;
    }

    /*
      iOS Safari only (see city-bookingmask: easepick-ios-safari-vv + visualViewport).
      Chrome on iOS does not use this path; Safari’s layout vs visual viewport shrinks/crops full-screen fixed UI.
    */
    html.easepick-ios-safari-vv .container:not(.inline).show {
      top: var(--easepick-vv-offset-top, 0) !important;
      left: var(--easepick-vv-offset-left, 0) !important;
      right: auto !important;
      bottom: auto !important;
      width: var(--easepick-vv-width, 100%) !important;
      max-width: var(--easepick-vv-width, 100vw) !important;
      min-height: var(--easepick-vv-height, 100dvh) !important;
      height: var(--easepick-vv-height, 100dvh) !important;
      max-height: var(--easepick-vv-height, 100dvh) !important;
    }

    html.easepick-ios-safari-vv .container > main {
      max-height: calc(var(--easepick-vv-height, 100dvh) - 120px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    }
  }
  
  @media (max-width: 360px) {
    .calendar > .days-grid > .day {
      height: 35px;
      font-size: 13px;
    }

    .container > footer .footer-buttons > button {
      padding: 8px;
      font-size: 14px;
    }
  }

@media(min-width:768px) and (max-width: 992px){
  .container:not(.inline).show{
    margin-top:0px!important;
  }
}