@green-color: #06d6a0;
@light-green-color: #b6ffec;
@red-color: #ef476f;
@light-red-color: #ffcdd9;
@yellow-color: #ffd166;
@light-yellow-color: #fff4d9;
@blue-color: #0680d6;
@light-blue-color: #b0ebff;
@navyblue-color: #073b4c;
@light-navyblue-color: #94e4ff;

@icon-color: #48484a;
@card-background: #fff;

@pg-dashboard-gap-size: 20px;
@pg-dashboard-nav-width: 240px;
@pg-dashboard-border-color: rgba(123, 123, 123, 0.09);

@shape-primary-color: #086698;
@shape-secondary-color: #086698;

@global-link-color: #1e87f0;

.pixel-gallery-dashboard {
  position: relative;

  &.wrap {
    margin: 10px 20px 0 0;

    a:focus {
      outline: none;
      box-shadow: none;
    }

    #pixel_gallery_api_settings_page .pg-options {
      display: block;
      columns: 1;
      gap: @pg-dashboard-gap-size;

      .pg-option-item {
        margin-block-end: @pg-dashboard-gap-size;
      }
    }

    .pg-affiliate-sub-title {
      color: #1d2327;
      font-size: 1.3em;
      margin: 1em 0;
    }

    .pg-affiliate-features ul {
      list-style-position: inside;
    }

    .pixel-gallery-settings-save-btn {
      padding: 3px 30px;
      color: #fff;
      background: linear-gradient(to right, #0d3b54, #086698);
      border: 0;
      cursor: pointer;

      &:hover {
        background: linear-gradient(to right, #086698, #0d3b54);
      }
    }

    .pg-dashboard-header {
      position: relative;
      padding: 20px 30px;
      background: #fff;
      overflow: hidden;
      z-index: 11;
      border: 1px solid @pg-dashboard-border-color;
      border-radius: 6px;

      &.bdt-sticky-fixed {
        z-index: 999;
        box-shadow: 0 -32px 0 0 #ffffff, 0 5px 15px rgba(0, 0, 0, 0.1);
        border-end-start-radius: 0;
        border-end-end-radius: 0;
        border-block-end: 0;

        .pg-header-elements {
          opacity: 0.5;
          transition: opacity 0.3s ease;
        }

        &:hover .pg-header-elements {
          opacity: 1;
        }
      }

      .pg-header-elements {
        position: absolute;
        inset-block-start: 0;
        inset-inline-start: 0;
        inline-size: 100%;
        block-size: 100%;
        pointer-events: none;
        z-index: 1;

        .pg-header-element {
          position: absolute;
          display: block;

          &.pg-header-circle {
            inline-size: 160px;
            block-size: 160px;
            border-radius: 50%;
            background: linear-gradient(
              45deg,
              rgba(@shape-primary-color, 0.05),
              rgba(@shape-secondary-color, 0.08)
            );
            inset-block-start: -80px;
            inset-inline-end: 10%;
          }

          &.pg-header-dots {
            inset-block-end: 20px;
            inset-inline-start: 15%;
            inline-size: 80px;
            block-size: 40px;
            background-image: radial-gradient(
              rgba(@shape-primary-color, 0.15) 2px,
              transparent 2px
            );
            background-size: 10px 10px;
          }

          &.pg-header-line {
            inline-size: 120px;
            block-size: 2px;
            background: linear-gradient(
              90deg,
              rgba(@shape-primary-color, 0),
              rgba(@shape-secondary-color, 0.2)
            );
            transform: rotate(-45deg);
            inset-block-start: 40%;
            inset-inline-end: 25%;
          }

          &.pg-header-square {
            inline-size: 30px;
            block-size: 30px;
            border: 2px solid rgba(@shape-primary-color, 0.1);
            inset-block-start: 30px;
            inset-inline-start: 20%;
            transform: rotate(15deg);
          }

          &.pg-header-wave {
            inline-size: 140px;
            block-size: 20px;
            inset-block-end: 20px;
            inset-inline-end: 15%;
            background: linear-gradient(
              45deg,
              rgba(@shape-primary-color, 0) 45%,
              rgba(@shape-secondary-color, 0.1) 50%,
              rgba(@shape-primary-color, 0) 55%
            );
            background-size: 15px 15px;
            transform: rotate(-10deg);
          }
        }
      }

      .pg-logo,
      .pg-dashboard-new-page {
        position: relative;
        z-index: 2;
      }
    }

    .pg-dashboard-header.bdt-sticky-fixed,
    .bdt-widget-filter-wrapper.bdt-sticky-fixed {
      box-shadow: 0 -32px 0 0 #ffffff, 0 5px 15px rgba(0, 0, 0, 0.1);
      border-end-start-radius: 0;
      border-end-end-radius: 0;
    }

    .pg-dashboard-wrapper {
      background: #ffffff;
      border-radius: 6px;
      padding: 30px;
      position: relative;
      max-inline-size: 1600px;
    }

    .pg-dashboard-container {
      gap: @pg-dashboard-gap-size;
    }

    .pg-dashboard-header {
      .pg-logo {
        inline-size: 300px;

        img {
          block-size: 48px;
        }
      }

      .pg-dashboard-nav-title {
        h3 {
          font-size: 20px;
          font-weight: 600;

          i {
            margin-inline-end: 10px;
          }
        }
      }

      .pg-dashboard-new-page a {
        text-decoration: none;
        gap: 5px;
        border-radius: 6px;
        transition: all 0.3s ease;
        line-height: normal;
        font-size: clamp(12px, 0.8vw, 14px);
        font-weight: 600;
        padding: clamp(10px, 1vw, 11px) clamp(10px, 1vw, 20px);
        color: #086698;
        border: 2px solid #086698;

        &:hover {
          border-color: #0d3b54;
          color: #0d3b54;
        }

        i {
          transition: color 300ms ease-out;
        }
      }
    }

    .pg-dashboard-nav-container-wrapper {
      margin-block-start: @pg-dashboard-gap-size;
      display: none;
    }

    .bdt-dashboard-navigation {
      box-sizing: border-box;
      padding: 0;
      min-inline-size: @pg-dashboard-nav-width;
      max-inline-size: @pg-dashboard-nav-width;
      // min-height: 100vh;
    }

    .pg-dashboard-compare-section {
      border-block-start: 1px solid #f5f5f5;
      margin-block-start: 50px;
      padding-block-start: 50px;

      .pg-feature-sub-title {
        font-size: 15px;
        font-weight: 500;
        margin-block-end: 10px;
        color: #6a6b72;
      }

      ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        list-style: outside;
        padding-inline: 20px;
        margin-block-start: 30px;
        margin-block-end: 30px;
        font-size: 14px;
      }
    }

    .pg-highlight-text {
      color: #48dab7;
      padding: 3px 6px;
      border-radius: 6px;
      line-height: 1;
      background: #e6fff8;
    }

    .pg-content-type-filter {
      border-block-start: 2px solid #2196f3;
      padding-block-start: 20px;
      display: none;

      ul {
        gap: 2px;

        li {
          margin: 0;

          a {
            font-size: 14px;
            color: #666;
            border: 1px solid transparent;
            position: relative;
            padding: 4px 6px;

            &:before {
              content: "";
              position: absolute;
              inset-block-end: 0;
              inset-inline-start: 0;
              inline-size: 0;
              block-size: 2px;
              background: #2196f3;
              transition: inline-size 0.3s ease;
            }

            &:hover {
              color: #2196f3;
            }
          }

          &.bdt-active {
            a {
              color: #2196f3;

              &:before {
                inline-size: 100%;
              }
            }
          }
        }
      }

      .pg-filter-by-text {
        font-size: 14px;
        margin-inline-end: 10px;
        font-weight: 600;
      }
    }

    .pg-dashboard-compare-section.bdt-card {
      background: #fff;
      border: 1px solid @pg-dashboard-border-color;
    }

    .pg-dashboard-welcome-container {
      display: grid;
      grid-template-columns: repeat(12, 1fr);
      grid-auto-flow: dense;
      row-gap: @pg-dashboard-gap-size;
      column-gap: @pg-dashboard-gap-size;

      p {
        margin-block-end: 16px;
      }

      .pg-dashboard-footer-item p {
        margin-block-end: 0;
      }
    }

    .pg-dashboard-item:nth-child(1),
    .pg-dashboard-item:nth-child(3) {
      grid-column: span 12 / auto;
      grid-row: span 1 / auto;
    }

    .pg-dashboard-item {
      grid-column: span 12 / auto;
      grid-row: span 1 / auto;
    }

    .pg-dashboard-item:nth-child(2) {
      grid-column: span 12 / auto;
      grid-row: span 2 / auto;
    }

    .pg-dashboard-template-quick-access {
      img {
        inline-size: 100%;
        block-size: auto;
        border-radius: 6px;
        margin-block-end: 20px;
      }
    }

    .pg-pro-inactive .pg-option-item-inner {
      background-color: rgba(253, 228, 235, 0.12) !important;
      border-color: #ffeaf0 !important;

      &:after {
        content: "PRO";
        position: absolute;
        inset-inline-end: 24px;
        inset-block-start: 50%;
        transform: translateY(-50%);
        font-size: 10px;
        font-weight: 600;
        color: #ef476f;
        padding: 5px 9px;
        border-radius: 20px;
        background-color: #ffe4eb;
      }

      .pixel-gallery-3pp-install,
      .pixel-gallery-3pp-active,
      .pixel-gallery-3pp-download,
      .switch {
        display: none;
      }
    }

    .bdt-dashboard-navigation {
      .bdt-tab {
        li {
          margin: 0;
          border-block-end: 1px solid @pg-dashboard-border-color;

          a {
            padding-block: 16px;
            padding-inline: 30px;
            border: none;
            background: none;
            text-decoration: none;
            font-size: clamp(14px, 1vw, 15px);
            color: #666;
            position: relative;
            transition: box-shadow 300ms ease-out;
            display: flex;
            justify-content: flex-start;
            gap: 12px;
            font-weight: 600;
          }

          a:hover,
          a:focus {
            border-block-end: none;
            color: #000;
            box-shadow: none;
          }

          a:after {
            background-color: #0680d6;
            content: "";
            inline-size: 4px;
            block-size: 0;
            position: absolute;
            inset-inline-start: 0;
            inset-block-start: 50%;
            transform: translateY(-50%);
            transition: block-size 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
          }

          &.bdt-active {
            a {
              color: #0680d6;

              &:after {
                block-size: 75%;
              }
            }
          }
        }
      }
    }

    .bdt-card {
      border-radius: 6px;
      background-color: @card-background;
      border: 1px solid @pg-dashboard-border-color;
    }

    .pg-option-page {
      margin-block-start: @pg-dashboard-gap-size;

      p {
        font-size: 15px;
        line-height: 1.6;
        color: #666;
        max-inline-size: 600px;
      }

      .pg-option-item {
        .bdt-width-expand {
          & > [class^="pg-icon-"] {
            font-size: 48px;
            margin-inline-end: 20px;
          }
        }

        &.pg-widget-free,
        &.pg-widget-pro {
          .bdt-width-expand {
            & > [class^="pg-icon-"] {
              color: @icon-color;
            }
          }
        }

        &[data-content-type~="update"] > .pg-option-item-inner:before,
        &[data-content-type~="new"] > .pg-option-item-inner:before {
          inline-size: 70px;
          block-size: 20px;
          color: #fff;
          position: absolute;
          transform: rotate(-45deg);
          text-align: center;
          line-height: 20px;
          font-size: 9px;
          inset-inline-start: -20px;
          inset-block-start: 4px;

          // RTL adjustments
          [dir="rtl"] & {
            transform: rotate(45deg); // mirror rotation
          }
        }

        &[data-content-type~="new"] > .pg-option-item-inner:before {
          background-color: @red-color;
          content: "NEW";
        }

        &[data-content-type~="update"] > .pg-option-item-inner:before {
          background-color: @blue-color;
          content: "UPDATE";
        }

        .pg-option-label-wrap {
          display: flex;
          flex-direction: column;
          align-items: flex-start;
          gap: 10px;

          .pg-option-links {
            display: flex;
            gap: 8px;
            align-items: center;
          }
        }

        .pg-option-label {
          font-size: 15px;
          font-weight: 500;
        }

        .pg-option-demo,
        .pg-option-video {
          color: #837f90;
          transition: all 0.2s ease-out;
          text-decoration: none;
          display: flex;
          flex-direction: row-reverse;
          align-items: center;
          gap: 5px;
          font-size: 12px;

          i {
            font-size: 14px;
            color: currentColor;
          }

          &:hover {
            i {
              color: currentColor;
            }
          }
        }

        &.pg-widget-free .pg-option-demo,
        &.pg-widget-free .pg-option-video {
          &:hover {
            color: @green-color;
          }
        }

        &.pg-widget-pro .pg-option-demo,
        &.pg-widget-pro .pg-option-video {
          &:hover {
            color: @red-color;
          }
        }

        .pg-option-item-inner {
          position: relative;
          border: 1px solid @pg-dashboard-border-color;

          &.pg-option-group {
            background-color: @card-background;
            border: 1px solid @pg-dashboard-border-color;
          }

          .pg-option-item-inner {
            border: none;
          }
        }
      }

      .bdt-widget-filter-wrapper {
        position: relative;
        padding-block: 20px;
        padding-inline: 20px;
        background: #fff;
        overflow: hidden;
        z-index: 998;
        border-radius: 6px;
        border: 1px solid @pg-dashboard-border-color;
        margin-block-end: @pg-dashboard-gap-size;

        .bdt-filter-shape {
          position: absolute;
          inset-block-end: 0;
          inset-inline-start: 0;
          inline-size: 100%;
          block-size: 100%;
          z-index: -1;
          pointer-events: none;

          svg {
            position: absolute;
            inset-block-end: 0;
            inset-inline-start: 0;
            inline-size: 100%;
            block-size: 100%;
            transform: scale(1.5);
          }
        }

        ul {
          margin-block: 0;
        }

        .bdt-badge {
          inline-size: 18px;
          block-size: 18px;
          margin-inline-start: 5px;
          font-size: 10px;
        }

        .bdt-button-default {
          text-decoration: none;
          color: #444;
          background-color: #fff;
          transition: all 0.3s cubic-bezier(0.3, 0.36, 0.25, 1);
          border: none;
          border-radius: 6px;
          outline: none;
          font-size: clamp(12px, 1vw, 14px);
          font-weight: 500;
          padding-block: 10px;
          padding-inline: 12px;
          line-height: 18px;

          &:hover {
            background: @blue-color;
            color: #fff;
          }
        }

        ul.bdt-subnav li {
          margin: 0;
          padding: 0;

          &:first-child {
            padding-inline-start: 20px;
          }

          a {
            text-decoration: none;
            color: #444;
            transition: all 0.3s cubic-bezier(0.3, 0.36, 0.25, 1);
            border: none;
            border-radius: 6px;
            outline: none;
            font-size: clamp(12px, 0.8vw, 14px);
            font-weight: 500;
            padding-block: 10px;
            padding-inline: clamp(10px, 0.9vw, 10px);
            background: #e9f4ff;

            &:hover {
              background: @blue-color;
              color: #fff;
              outline: none;

              .bdt-badge {
                background-color: #118ab2;
              }
            }
          }

          &.bdt-active a {
            background: @blue-color;
            color: #fff;
            box-shadow: none;
          }

          &.pg-widget-free a {
            background-color: @light-green-color;
            color: @green-color;

            &:hover {
              background-color: @green-color;
              color: #fff;
            }
          }

          &.pg-widget-free.bdt-active a {
            background-color: @green-color;
            color: #fff;
            box-shadow: none;
          }

          &.pg-widget-pro a {
            background-color: @light-red-color;
            color: @red-color;

            &:hover {
              background-color: @red-color;
              color: #fff;
              box-shadow: none;
            }
          }

          &.pg-widget-pro.bdt-active a {
            background-color: @red-color;
            color: #fff;
            box-shadow: none;
          }
        }

        .pg-widget-onoff {
          .pg-active-all-widget {
            background-color: @global-link-color;
            color: #fff;

            &:hover,
            &.bdt-active {
              background-color: #0c6fd1;
            }
          }

          .pg-deactive-all-widget {
            background-color: #c81b07;
            color: #fff;

            &.bdt-active,
            &:hover {
              background-color: #cf1c08;
            }
          }
        }

        .bdt-dropdown {
          box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.1);
          border-radius: 3px;
          background-color: #fff;

          ul {
            li {
              a {
                font-size: 14px;

                &:focus {
                  box-shadow: none;
                }
              }

              &.bdt-active a {
                color: #fff;
              }
            }
          }
        }
      }

      .pg-options {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 15px;

        > .pg-option-item {
          margin-block-end: 0 !important;

          .pg-option-group .pg-option-item .pg-option-label {
            font-size: 14px !important;
          }

          .pg-option-item-inner {
            .bdt-input {
              block-size: 34px;
              border-radius: 6px !important;

              &:focus {
                background-color: #fff;
              }
            }

            input[type="text"] {
              border-radius: 3px;
            }

            textarea {
              inline-size: 100%;
            }
          }

          > .pg-option-item-inner {
            line-height: 1;
            padding-block: 18px;
            padding-inline: 25px;
            border-radius: 6px;
            transition: all 0.3s cubic-bezier(0.3, 0.36, 0.25, 1);

            &:hover {
              box-shadow: none;

              .pg-widget-count-text {
                color: #7c99b7;
              }

              [class^="pg-icon-"] {
                color: #052442;
              }
            }
          }
        }
      }
    }

    .bdt-search-active-wrap {
      .bdt-subnav {
        margin: 0;
      }

      .bdt-widget-search input {
        min-block-size: 40px;
        padding-inline: 8px;
        border-color: rgba(30, 135, 240, 0.3);

        &:focus {
          border: 1px solid #1e87f0;
          outline: 0;
          box-shadow: 0 0 0 1px #1e87f0;
        }
      }
    }
  }

  .pixel-gallery-settings-save-btn {
    border-radius: 6px;
  }

  .pg-setting-save-btn {
    z-index: 99999 !important;
    position: relative;
  }

  .switch {
    position: relative;
    display: inline-block;
    inline-size: 44px;
    block-size: 24px;
    background-color: rgba(0, 0, 0, 0.25);
    border-radius: 20px;
    transition: all 0.3s ease-out;
    overflow: hidden;
    cursor: pointer;
  }

  .switch::after {
    content: "";
    position: absolute;
    inline-size: 20px;
    block-size: 20px;
    border-radius: 20px;
    background-color: white;
    inset-block-start: 2px;
    inset-inline-start: 3px;
    transition: all 0.3s cubic-bezier(0.24, 0.85, 0.58, 1);
  }

  input[type="checkbox"]:checked + .switch::after {
    transform: translateX(18px);

    [dir="rtl"] & {
      transform: translateX(-18px);
    }
  }

  input[type="checkbox"]:checked + .switch {
    background-color: @global-link-color;
  }

  input[type="checkbox"] {
    position: absolute;
    inset-inline-start: -9999px;
  }

  .pg-widget-pro input[type="checkbox"]:checked + .switch {
    background-color: @red-color;
  }

  .pg-widget-free input[type="checkbox"]:checked + .switch {
    background-color: @green-color;
  }

  .pg-system-requirement {
    .check-system-status {
      font-size: 13px;

      li > div {
        padding-block-end: 5px;
        margin-block-end: 5px;
        border-block-end: 1px solid rgba(0, 0, 0, 0.1);
      }
    }

    .check-system-status .label1 {
      inline-size: 200px;
    }

    .check-system-status span {
      display: inline-block;
      line-height: 1.6;
    }

    .check-system-status .valid,
    .check-system-status .invalid {
      font-size: 15px;
      inline-size: 20px;
      block-size: 18px;
      margin-inline-start: 10px;
      margin-inline-end: 15px;
      vertical-align: middle;
      border-radius: 3px;
    }

    .check-system-status .invalid {
      background: red;
      color: #fff;
    }

    .check-system-status .valid {
      background: @green-color;
      color: #fff;

      i::before {
        margin-inline-start: -1px;
      }
    }

    .check-system-status i::before {
      font-size: 15px;
      line-height: 20px;
    }
  }

  .pg-no-result {
    display: none;
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%) !important;
  }

  .bdt-animation-shake {
    animation-name: bdt-shake !important;
    display: block !important;
  }

  .pg-code-editor-description {
    color: #0073aa;
    font-size: 13px;
    margin-block: 5px 10px;
    font-style: italic;
    opacity: 0.9;
  }

  .pg-code-section-header {
    margin-block-end: 20px;
    background: #fefefe;
    padding-block: 20px;
    padding-inline: 20px;
    border-radius: 6px;
    border: 1px solid rgba(123, 123, 123, 0.09);
  }

  .pg-section-title {
    color: #23282d;
    font-size: 18px;
    font-weight: 600;
    margin-block-end: 8px;
    padding: 0;
  }

  .pg-section-description {
    color: #666;
    font-size: 14px;
    margin: 0;
    line-height: 1.5;
  }

  .pg-page-exclusion-wrapper {
    border: 1px solid @pg-dashboard-border-color;
    border-radius: 4px;
    padding: 20px;
    margin-block-end: 20px;
  }

  .pg-exclusion-label {
    display: block;
    font-weight: 600;
    margin-block-end: 8px;
    color: #23282d;
  }

  .pg-page-select {
    inline-size: 100%;
    min-block-size: 120px;
    max-block-size: 200px;
    padding: 8px;
    border: 1px solid @pg-dashboard-border-color;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    max-inline-size: 100%;
  }

  .pg-page-select option {
    padding: 4px 8px;
  }

  .pg-exclusion-help {
    color: #666 !important;
    font-size: 14px !important;
    font-style: italic !important;
    margin-block-start: 12px !important;
    line-height: 1.4 !important;
  }

  .pg-dashboard-nav-container {
    position: relative;
    z-index: 98;

    &.bdt-sticky-fixed {
      z-index: 998;
    }
  }

  .bdt-tab-container {
    position: relative;
  }

  #pixel_gallery_elementor_extend_page,
  #pixel_gallery_other_settings_page,
  #pixel_gallery_third_party_widget_page,
  #pixel_gallery_active_modules_page {
    .pg-option-item-inner {
      overflow: hidden;
    }
  }

  #pixel_gallery_other_settings_page {
    .pg-options {
      > .pg-option-item {
        > .pg-option-item-inner {
          > label > .pg-option-label {
            font-weight: 700;
            font-size: 22px;
          }

          .description {
            margin-block-start: 20px;
          }
        }
      }
    }
  }

  #pixel_gallery_elementor_extend_page,
  #pixel_gallery_other_settings_page {
    .pg-widget-count-text {
      display: none;
    }
  }

  #pixel_gallery_api_settings_page {
    .pg-options {
      > .pg-option-item {
        border: 1px solid rgba(123, 123, 123, 0.09);
        border-radius: 6px;
        background: #fefefe;

        > .pg-option-item-inner {
          padding: 35px;
          border: 0;
          background: transparent;
          break-inside: avoid-column;

          a i {
            font-size: 18px;
          }

          .pg-option-item {
            margin-block-start: 10px;

            &:nth-last-child(1) {
              margin-block-start: 0;
            }
          }
        }
      }
    }

    input,
    textarea {
      border-color: #ddd;
    }

    input[type="text"]:focus,
    input[type="password"]:focus,
    input[type="color"]:focus,
    input[type="date"]:focus,
    input[type="datetime"]:focus,
    input[type="datetime-local"]:focus,
    input[type="email"]:focus,
    input[type="month"]:focus,
    input[type="number"]:focus,
    input[type="search"]:focus,
    input[type="tel"]:focus,
    input[type="time"]:focus,
    input[type="url"]:focus,
    input[type="week"]:focus,
    input[type="checkbox"]:focus,
    input[type="radio"]:focus,
    select:focus,
    textarea:focus {
      border-color: @blue-color;
      box-shadow: none;
    }

    .pg-option-video {
      position: absolute;
      inset-inline-end: 25px;
      inset-block-start: 20px;
      background: #e9f4ff;
      padding: 8px;
      border-radius: 6px;
    }

    .pg-option-label {
      display: block;
      margin-block-end: 25px;
      font-size: 18px;
    }

    .pg-option-group {
      .pg-option-label {
        margin-block-end: 15px;
      }
    }

    p.description {
      font-size: 12px !important;
      color: #999;
      margin-block-start: 10px;

      a {
        color: #888;
      }
    }
  }

  #pixel_gallery_extra_options_page {
    .pg-white-label-options {
      .pg-option-item-inner {
        background: #fefefe;
        padding: 30px;
      }
    }
  }

  .pg-dashboard-panel {
    .pg-dashboard-others-plugin {
      display: flex;
      flex-direction: column;
      gap: @pg-dashboard-gap-size;

      .bdt-card {
        flex-direction: column;
        gap: 20px;
      }
    }

    .bdt-card {
      border-radius: 6px;
      transition-property: box-shadow, color;
      transition-duration: 0.3s;
      transition-timing-function: cubic-bezier(0.3, 0.36, 0.25, 1);

      a {
        text-decoration: none;

        &:focus {
          box-shadow: none;
        }
      }

      p {
        margin-block-start: 0;
      }

      .pg-count-canvas-wrap .pg-feature-title {
        margin-block-end: 5px;
      }

      .pg-count-wrap {
        flex: none;
      }

      .pg-widget-count {
        color: #a1a8ad;
        font-size: 12px;
        line-height: 1.7;
        text-transform: uppercase;
      }

      .bdt-others-plugin-content {
        inline-size: 100%;
        gap: 20px;
        flex-direction: column;
        align-items: flex-start;

        .pg-feature-title {
          font-weight: 500;
          margin-block-end: 0;
        }

        .bdt-plugin-logo-wrap {
          gap: 15px;
        }

        img {
          inline-size: clamp(50px, 8vw, 70px);
          block-size: auto;
          vertical-align: middle;
        }

        p {
          margin: 0 0 10px 0;
          font-size: 15px;
          line-height: 1.5;
          color: #656a71;
          max-inline-size: 600px;
          font-weight: 300;
        }

        span.active-installs {
          font-size: 14px;
          font-weight: 500;
          color: #9c27b0;

          .installs-count {
            color: #9c27b0;
          }
        }

        .bdt-others-plugin-updated {
          color: #656a71;
        }
      }

      .bdt-others-plugins-link {
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        gap: 8px;
        inline-size: 100%;
        flex: 1;
        min-inline-size: 300px;

        .bdt-dashboard-sec-btn {
          padding-block: 9px !important;
          padding-inline: 20px !important;
        }
      }

      .bdt-others-plugin-user-wrap {
        gap: 10px;
        flex-wrap: wrap;

        .bdt-others-plugin-user {
          color: #373333;
          padding-block: 4px;
          padding-inline: 6px;
          border-radius: 6px;
          font-size: 10px;
          font-weight: 700;
          box-shadow: 0 2px 8px rgba(76, 89, 98, 0.2);
          text-transform: uppercase;
          line-height: 1;
          border: 1px solid #dcd8e8;
        }
      }

      .pg-dashboard-compare-section-buttons {
        display: flex;
        align-items: center;
		gap: 15px;
      }

      .bdt-button {
        border-radius: 6px;
        transition: all 0.3s ease;
        line-height: normal;
        font-size: clamp(12px, 0.8vw, 14px);
        font-weight: 600;
        padding-block: clamp(10px, 1vw, 11px);
        padding-inline: clamp(10px, 1vw, 20px);

        &.bdt-welcome-button {
          color: #fff;
          background: linear-gradient(to right, #0d3b54, #086698);
          border: 0;
          padding-block: 13px;
          padding-inline: 20px;

          &:hover {
            background: linear-gradient(to right, #086698, #0d3b54);
          }
        }

        &.bdt-dashboard-sec-btn {
          color: #086698;
          border: 2px solid #086698;

          &:hover {
            border-color: #0d3b54;
            color: #0d3b54;
          }
        }

        &.bdt-btn-red {
          background: @light-red-color;
          color: @red-color;

          &:hover {
            background: @red-color;
            color: #fff;
            box-shadow: none;
          }
        }

        &.bdt-btn-green {
          background: @light-green-color;
          color: @green-color;

          &:hover {
            background: @green-color;
            color: #fff;
          }
        }

        &.bdt-btn-blue {
          background: @blue-color;
          color: #fff;

          &:hover {
            background: #097396;
            color: #fff;
          }
        }

        &.bdt-btn-grey {
          background-color: #e3e8eb;
          color: #1d2327;

          &:hover {
            background: #1d2327;
            color: #fff;
          }
        }
      }

      .pg-feature-title {
        color: #333;
        font-weight: 700;
        font-size: clamp(18px, 1vw, 20px);
        margin-block-end: 20px;
        padding: 0;
      }

      .pg-dashboard-welcome-title {
        font-size: 30px;
      }

      .pg-dashboard-compare-title,
      .pg-dashboard-template-quick-title {
        font-size: 24px;
      }

      &.bdt-card-green {
        background: rgba(173, 200, 101, 0.03);
        box-shadow: 0 0 0 1px rgba(173, 200, 101, 0.3);
      }

      &.bdt-card-red {
        color: #777;
        box-shadow: 0 0 0 1px rgba(255, 65, 77, 0.3);
      }

      &.bdt-card-blue {
        color: #777;
        box-shadow: 0 0 0 1px @blue-color;
      }

      .bdt-accordion {
        padding-block-start: 5px;

        .bdt-accordion-title {
          font-size: 16px;
          padding-block: 10px;
          padding-inline: 20px;
          background: rgba(255, 65, 77, 0.1);
          border-radius: 6px;
          font-weight: 400;
          letter-spacing: 0.3px;

          &:hover,
          &:focus {
            box-shadow: 0 0 0 1px rgba(255, 65, 77, 0.3);
          }
        }

        .bdt-open {
          .bdt-accordion-title {
            color: #000;
            background: rgba(255, 65, 77, 0.3);
          }
        }

        .bdt-accordion-content {
          padding-inline: 20px;
        }
      }

      .check-system-status {
        margin-block-start: 20px;
      }

      &.pg-video-tutorial {
        display: flex;
        flex-direction: column;

        .bdt-list {
          margin-block-end: 20px;
          flex-grow: 1;
        }

        .bdt-list-divider > li:nth-child(n + 2) {
          border-block-start: 1px solid rgba(173, 200, 101, 0.3);
        }

        .pg-link-title {
          margin: 0;
          font-size: 14px;
          color: rgba(173, 200, 101, 0.7);

          &:hover {
            color: @green-color;
          }
        }

        .bdt-video-btn {
          font-weight: 500;
          color: #444;
          border: 1px solid @green-color;
          display: inline-block;
          inline-size: 145px;
          padding-block: 5px;
          text-align: center;
          border-radius: 3px;

          &:hover {
            color: #000;
          }
        }
      }
    }

    .pg-dashboard-footer-item {
      text-decoration: none;
      transition: all 0.3s ease;
      transform: translateY(0);
      position: relative;

      .pg-feature-title {
        font-size: 18px;
        margin-block-end: 10px;
        margin-block-start: 0;
        margin-inline: 0;
      }

      .pg-dashboard-footer-item-icon {
        display: inline-block;
        padding: 10px;
        border-radius: 6px;
        border: 1px solid #f3f3f3;
        margin-block-end: 18px;
        background: #f5fffc;
        color: #086698;
      }

      i {
        font-size: 18px;
        inline-size: 18px;
        block-size: 18px;
      }

      &:after {
        content: "\f504";
        font-family: dashicons;
        position: absolute;
        inset-block-start: 15px;
        inset-inline-end: 15px;
        font-size: 20px;
        color: #086698;
        opacity: 0;
        transition: all 0.3s ease;
      }

      &:hover {
        transform: translateY(-3px);
        box-shadow: 0 10px 20px rgba(73, 221, 179, 0.065);
        border-color: #086698;

        &:after {
          opacity: 1;
          transform: translateX(5px);
        }

        .pg-dashboard-footer-item-icon {
          animation: pg-footer-icon-bounce 0.5s ease-in-out;
        }
      }
    }

    @keyframes pg-footer-icon-bounce {
      0%,
      100% {
        transform: translateY(0);
      }

      50% {
        transform: translateY(-5px);
      }
    }

    .pg-dashboard-support-section {
      margin-block-start: 30px;

      .pg-feature-title {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-block-end: 10px;

        i {
          font-size: 20px;
          color: #086698;
          margin: 0;
          padding: 0;
          border: 0;
          background: none;
        }
      }
    }
  }

  #pixel_gallery_active_modules_page .checkbox,
  #pixel_gallery_third_party_widget_page .checkbox {
    margin-block-start: 5px;
  }

  .pixel-gallery-3pp-install,
  .pixel-gallery-3pp-active,
  .pixel-gallery-3pp-download {
    text-decoration: none;
    color: @red-color;
    line-height: normal;
    background-color: #eee;
    border-radius: 100px;
    padding: 5px;
    display: inline-flex;

    &:hover {
      color: #fb6094;
    }
  }

  .pixel-gallery-footer-info {
    background-color: @navyblue-color;
    color: #90b6c3;
    border-radius: 6px;
    box-sizing: border-box;
    padding: 30px 40px;
    background-image: url("../images/shiny-overlay.svg");
    background-position: top end;
    background-repeat: no-repeat;

    p {
      font-size: 14px !important;
      color: #90b6c3 !important;
      text-align: center;
      margin-block-start: 25px;
    }

    a {
      color: #e5f4f9;
    }
  }

  .bdt-admin-alert {
    background-color: #fff3da;
    border-radius: 2px;
    padding: 10px 20px;
    box-sizing: border-box;
    margin-block-start: 30px;
  }

  .pg-dashboard-divider {
    inline-size: 100%;
    margin-block: 50px;
    min-block-size: 20px;
    background-size: 20px 20px;
    background-repeat: repeat-x;
  }

  .pg-dashboard-panel {
    position: relative;

    .dashicons.dashicons-yes {
      color: @shape-primary-color;
    }

    .dashicons.dashicons-no {
      color: #ff0000;
    }

    .dashicons.dashicons-heart {
      color: #ea355f;
    }

    .pg-comparision {
      padding-inline-start: 0;
    }

    h1 {
      font-weight: 700;
    }
  }

  .pg-purchase-button a {
    color: #ffffff;
    border-style: none;
    border-radius: 4px;
    box-shadow: 0px 10px 40px 0px rgba(0, 130, 117, 0.29);
    padding: 18px 45px;
    font-weight: 700;
    cursor: pointer;
    display: inline-block;
    text-transform: uppercase;
    font-size: 14px;
    outline: none;
    position: relative;
    transition: all 0.3s ease-out;
    text-align: center;
    overflow: hidden;
    background-color: transparent;
    background-image: linear-gradient(145deg, #20e2ad 0%, #08aeec 100%);
    text-decoration: none;
    letter-spacing: 1px;
  }

  .pg-purchase-button a:hover {
    background-image: linear-gradient(145deg, #08aeec 0%, #20e2ad 100%);
    box-shadow: 0px 10px 40px 0px rgba(0, 130, 117, 0.46);
  }

  /* license page style */

  #pixel_gallery_license_settings_page {
    .el-license-container {
      p.submit {
        margin: 0;
        padding: 0;
      }
    }

    h3.el-license-title,
    .bdt-subsite-license-management-title {
      font-size: 22px;
      margin-block-start: 0;
      margin-block-end: 50px;
    }

    ol {
      margin-block-end: 20px;
    }

    .bdt-pg-license-field {
      display: block;
      margin-block-end: 15px;
    }

    .bdt-pg-license-field input {
      font-size: 200%;
      padding-inline: 10px;
      display: block;
      margin-block-start: 10px;
      border-radius: 6px;
      border-color: #ddd;
      inline-size: 100%;
      max-inline-size: 650px;
    }

    .bdt-pg-license-field label {
      display: inline-block;
      margin-block-end: 5px;
    }

    .bdt-pg-license-active-btn {
      margin-block-start: 25px;
    }

    .pixel-gallery-license-info {
      font-size: 14px;
      line-height: 24px;
      max-inline-size: 850px;
      margin-block-end: 50px;

      .license-info-title {
        inline-size: 150px;
        display: inline-block;
        position: relative;
        padding-inline-end: 5px;
        margin-inline-end: 10px;
      }

      .license-info-title:after {
        content: ":";
        position: absolute;
        inset-inline-end: 2px;
      }

      .license-valid,
      .license-invalid {
        padding: 4px 8px;
        color: #fff;
        background-color: @green-color;
        border-radius: 3px;
        font-size: 14px;
      }

      .license-invalid {
        background-color: #f44336;
      }

      .license-key {
        font-weight: 700;
        opacity: 0.8;
      }
    }

    .button {
      padding: 14px 16px;
      font-size: 14px;
      border: 0;
      border-radius: 6px;
      font-weight: 600;
      line-height: 1;
      min-block-size: auto;
    }

    .button-primary {
      background: #1e87f0;
      color: #fff;
      text-decoration: none;
      text-shadow: none;
      box-shadow: none;

      &:active,
      &:hover {
        background: #0e6dcd;
      }
    }

    .pg-license-subsite-header {
      display: flex;
      align-items: center;
      gap: 14px;
    }

    .pg-feature-title {
      font-size: 24px;
      font-weight: 600;
      margin: 0;
      padding: 0;
    }

    .pg-status-icon {
      background: #3ab981;
      display: inline-block;
      padding: 10px;
      border-radius: 50%;

      svg {
        fill: #fff;
        inline-size: 24px;
        block-size: 24px;
        display: block;
      }
    }

    .pg-license-status-success {
      margin-block: 30px 20px;
      padding: 20px;
      border-radius: 5px;
      background: rgba(78, 255, 177, 0.071);
      border-inline-start: 4px solid #10b981;
    }

    .pg-license-status-success h3,
    .pg-license-status-warning h3 {
      margin-block-end: 20px;
      font-size: 20px;
    }

    .pg-license-status-warning {
      margin-block: 20px;
      padding: 15px;
      border-radius: 5px;
      background: #fffbeb;
      border-inline-start: 4px solid #f59e0b;
    }

    .pg-license-details,
    .pg-network-info {
      margin-block: 15px;
      font-size: 16px;

      ul {
        margin-block: 10px;
        padding-inline-start: 0;
        list-style: inside;
        font-size: 14px;
      }

      li {
        margin-block: 8px;
      }
    }

    .pg-license-instructions {
      margin-block: 15px;

      ol {
        margin-block: 10px;
        padding-inline-start: 20px;

        li {
          margin-block: 8px;
        }
      }
    }

    .pg-admin-actions {
      margin-block-start: 20px;
      padding-block-start: 15px;
    }

    .license-valid {
      color: #10b981;
      font-weight: bold;
    }

    .bdt-subsite-license-management-title {
      gap: 10px;
    }

    .bdt-actions-buttons {
      display: flex;
      align-items: center;
      gap: 7px;
      flex-wrap: wrap;
    }

    .bdt-subsite-license-management {
      .bdt-actions-buttons {
        .bdt-button {
          padding: 10px 18px;
          font-size: 12px;
          line-height: 1.4;
          border-radius: 6px;
          font-weight: 600;
        }
      }

      .bdt-subsite-license-management-table {
        border-radius: 6px;
        overflow: hidden;
      }

      .wp-list-table {
        border-collapse: collapse;

        thead td,
        thead th {
          border-block-end: 1px solid rgba(0, 0, 0, 0.059);
        }

        td,
        th {
          padding: 14px 16px;
          border: 1px solid rgba(0, 0, 0, 0.059);
        }

        th {
          border-block-end: 1px solid rgba(0, 0, 0, 0.1);
        }

        .bdt-badge {
          block-size: 24px;
        }

        tbody {
          tr {
            td {
              &:nth-last-child(1) {
                a {
                  background: rgba(65, 75, 255, 0.251);
                  border: 1px solid rgba(65, 75, 255, 0.251);
                  color: #414bff;

                  &:hover {
                    background: rgba(54, 64, 243, 0.325);
                  }
                }
              }
            }
          }
        }

        .striped > tbody > :nth-child(odd),
        ul.striped > :nth-child(odd),
        tbody > tr:nth-child(odd) {
          background-color: transparent;
        }
      }
    }
  }

  .pg-widget-count-text {
    font-size: 11px;
    color: #b7b7b7;
    margin-block-start: 7px;
    display: block;
    text-transform: uppercase;
  }

  .pg-go-pro {
    font-weight: bold;
    color: #f44336;
    text-shadow: 1px 1px 1px #eee;
  }

  // get pro button
  #bdt-pixel_gallery_get_pro {
    letter-spacing: 1px;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(to right, #0d3b54, #086698);
    margin-block: 16px;
    margin-inline: 30px;
    border-radius: 6px;
    justify-content: center;

    &:after {
      display: none;
    }
  }

  /* Start Custom CSS and JS Styles */
  .pg-custom-code-section {
    .pg-code-row {
      margin-block-end: 20px;
    }

    .CodeMirror-placeholder {
      opacity: 0.5;
    }

    .pg-code-editor-wrapper {
      .pg-code-editor-title {
        font-size: 16px;
        font-weight: 600;
        color: #333;
        margin-block: 0 15px;
        padding-block-end: 10px;
        border-block-end: 2px solid #f0f0f0;
      }

      .pg-code-editor {
        inline-size: 100%;
        min-block-size: 200px;
        font-family: "Monaco", "Consolas", "Courier New", monospace;
        font-size: 13px;
        line-height: 1.5;
        border: 1px solid @pg-dashboard-border-color;
        border-radius: 4px;
        padding: 15px;
        color: #333;
        resize: vertical;
        transition: border-color 0.3s ease, box-shadow 0.3s ease;
        background: #fefefe;

        &:focus {
          border-color: @blue-color;
          box-shadow: 0 0 0 1px @blue-color;
          outline: none;
          background: #fff;
        }

        &::placeholder {
          color: #999;
          font-style: italic;
        }

        &.scrolling {
          border-color: @blue-color;
          box-shadow: 0 0 0 1px fade(@blue-color, 30%);
        }

        &:focus {
          &::selection {
            background-color: fade(@blue-color, 20%);
          }
        }

        &::-webkit-scrollbar {
          inline-size: 8px;
        }

        &::-webkit-scrollbar-track {
          background: #f1f1f1;
          border-radius: 4px;
        }

        &::-webkit-scrollbar-thumb {
          background: #c1c1c1;
          border-radius: 4px;

          &:hover {
            background: #a8a8a8;
          }
        }
      }
    }

    .pg-code-save-section {
      padding-block: 20px;
      border-block-start: 1px solid #f0f0f0;

      .bdt-button {
        color: #086698;
        padding-block: 16px;
        padding-inline: 24px;
        font-size: clamp(12px, 1vw, 14px);
        font-weight: 600;
        border-radius: 6px;
        border: 2px solid #086698;
        cursor: pointer;
        transition: all 0.3s ease;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        line-height: normal;

        .dashicons {
          inline-size: 16px;
          block-size: 16px;
          font-size: 16px;
          line-height: 1;
        }

        &:hover {
          transform: translateY(-1px);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
        }

        &:active {
          transform: translateY(0);
        }

        &.bdt-btn-blue {
          background: @blue-color;
          color: #fff;

          &:hover {
            background: #097396;
          }
        }

        &.bdt-btn-grey {
          background: #e3e8eb;
          color: #1d2327;

          &:hover {
            background: #1d2327;
            color: #fff;
          }
        }

        &:disabled {
          opacity: 0.7;
          cursor: not-allowed;

          &:hover {
            transform: none !important;
            box-shadow: none !important;
          }
        }
      }
    }

    .pg-code-message {
      .bdt-alert {
        border-radius: 6px;
        padding: 15px;
        position: relative;

        &.bdt-alert-success {
          background-color: #d4edda;
          border: 1px solid #c3e6cb;
          color: #155724;
        }

        &.bdt-alert-error {
          background-color: #f8d7da;
          border: 1px solid #f5c6cb;
          color: #721c24;
        }

        p {
          margin: 0;
          font-weight: 500;
        }

        .bdt-alert-close {
          position: absolute;
          inset-block-start: 5px;
          inset-inline-end: -5px;
          background: none;
          border: none;
          font-size: 18px;
          cursor: pointer;
          opacity: 0.6;

          &:hover {
            opacity: 1;
          }
        }
      }
    }
  }

  .pg-dashboard-nav-container-inner {
    position: relative;
    background: #fff;
    z-index: 1;
    border-radius: 6px;
    border: 1px solid @pg-dashboard-border-color;
    padding-block: 20px;
    overflow: hidden;
    min-block-size: 100vh;

    &.bdt-sticky-fixed {
      inset-block-start: 115px !important;
    }

    .pg-nav-elements {
      position: absolute;
      inset-block-start: 0;
      inset-inline-start: 0;
      inline-size: 100%;
      block-size: 100%;
      pointer-events: none;
      z-index: 0;

      .pg-nav-element {
        position: absolute;
        display: block;

        &.pg-nav-circle {
          inline-size: 180px;
          block-size: 180px;
          border-radius: 50%;
          background: linear-gradient(
            45deg,
            rgba(73, 221, 180, 0.05),
            rgba(73, 221, 180, 0.1)
          );
          inset-block-start: -90px;
          inset-inline-end: -90px;
        }

        &.pg-nav-dots {
          inset-block-end: 40px;
          inset-inline-start: 20px;
          inline-size: 60px;
          block-size: 60px;
          background-image: radial-gradient(
            rgba(73, 221, 180, 0.15) 2px,
            transparent 2px
          );
          background-size: 10px 10px;
        }

        &.pg-nav-line {
          inline-size: 100px;
          block-size: 2px;
          background: linear-gradient(
            90deg,
            rgba(73, 221, 180, 0),
            rgba(73, 221, 180, 0.2)
          );
          transform: rotate(-45deg);
          inset-block-end: 100px;
          inset-inline-end: 20px;
        }

        &.pg-nav-square {
          inline-size: 40px;
          block-size: 40px;
          border: 2px solid rgba(73, 221, 180, 0.1);
          inset-block-start: 40px;
          inset-inline-start: 30px;
          transform: rotate(15deg);
        }

        &.pg-nav-triangle {
          inline-size: 0;
          block-size: 0;
          border-inline-start: 25px solid transparent;
          border-inline-end: 25px solid transparent;
          border-block-end: 40px solid rgba(73, 221, 180, 0.08);
          inset-block-start: 60%;
          inset-inline-end: 40px;
          transform: rotate(15deg);
        }

        &.pg-nav-plus {
          inline-size: 30px;
          block-size: 30px;
          inset-block-start: 30%;
          inset-inline-start: 40px;

          &:before,
          &:after {
            content: "";
            position: absolute;
            background: rgba(73, 221, 180, 0.15);
          }

          &:before {
            inline-size: 100%;
            block-size: 2px;
            inset-block-start: 50%;
            transform: translateY(-50%);
          }

          &:after {
            inline-size: 2px;
            block-size: 100%;
            inset-inline-start: 50%;
            transform: translateX(-50%);
          }
        }

        &.pg-nav-wave {
          inline-size: 100px;
          block-size: 20px;
          inset-block-end: 30px;
          inset-inline-end: 40px;
          background: linear-gradient(
            45deg,
            rgba(73, 221, 180, 0) 45%,
            rgba(73, 221, 180, 0.1) 50%,
            rgba(73, 221, 180, 0) 55%
          );
          background-size: 15px 15px;
          transform: rotate(-10deg);
        }
      }
    }

    .bdt-dashboard-navigation {
      position: relative;
      z-index: 1;
    }
  }

  .bdt-widget-filter-wrapper {
    position: relative;
    background: #fff;
    overflow: hidden;
    z-index: 98;
    border-radius: 6px;
    border: 1px solid @pg-dashboard-border-color;

    &.bdt-sticky-fixed {
      z-index: 998;
      border-start-start-radius: 0 !important;
      border-start-end-radius: 0 !important;
      box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);

      .pg-filter-elements {
        opacity: 0.5;
        transition: opacity 0.3s ease;
      }

      &:hover .pg-filter-elements {
        opacity: 1;
      }
    }

    .pg-used-unused-widgets {
      margin-inline-start: 10px;

      li {
        &:first-child {
          padding-inline-start: 0 !important;
        }
      }
    }

    .pg-filter-elements {
      position: absolute;
      inset-block-start: 0;
      inset-inline-start: 0;
      inline-size: 100%;
      block-size: 100%;
      pointer-events: none;
      z-index: 1;

      .pg-filter-element {
        position: absolute;
        display: block;

        &.pg-filter-circle {
          inline-size: 140px;
          block-size: 140px;
          border-radius: 50%;
          background: linear-gradient(
            135deg,
            rgba(@shape-primary-color, 0.05),
            rgba(@shape-secondary-color, 0.08)
          );
          inset-block-start: -70px;
          inset-inline-end: 5%;
          animation: floatingShape 6s ease-in-out infinite;
        }

        &.pg-filter-dots {
          inset-block-end: 10px;
          inset-inline-start: 10px;
          inline-size: 70px;
          block-size: 35px;
          background-image: radial-gradient(
            rgba(@shape-primary-color, 0.15) 2px,
            transparent 2px
          );
          background-size: 8px 8px;
          animation: fadeInOut 4s ease-in-out infinite;
        }

        &.pg-filter-wave {
          inline-size: 120px;
          block-size: 20px;
          inset-block-end: 25px;
          inset-inline-end: 10%;
          background: repeating-linear-gradient(
            45deg,
            rgba(@shape-primary-color, 0) 0px,
            rgba(@shape-primary-color, 0.1) 2px,
            rgba(@shape-primary-color, 0) 4px
          );
          transform: rotate(-15deg);
          animation: waveMotion 3s ease-in-out infinite;
        }

        &.pg-filter-hexagon {
          inset-block-start: 20%;
          inset-inline-start: 15px;
          inline-size: 35px;
          block-size: 20px;
          background: rgba(@shape-secondary-color, 0.1);
          transform: rotate(30deg);

          &:before,
          &:after {
            content: "";
            position: absolute;
            inline-size: 0;
            block-size: 0;
            border-inline-start: 18px solid transparent;
            border-inline-end: 18px solid transparent;
          }

          &:before {
            inset-block-end: 100%;
            border-block-end: 10px solid rgba(@shape-secondary-color, 0.1);
          }

          &:after {
            inset-block-start: 100%;
            border-block-start: 10px solid rgba(@shape-secondary-color, 0.1);
          }
        }

        &.pg-filter-zigzag {
          inset-block-start: 40%;
          inset-inline-end: 20px;
          inline-size: 50px;
          block-size: 25px;
          background: linear-gradient(
            45deg,
            transparent 45%,
            rgba(@shape-primary-color, 0.1) 45%,
            rgba(@shape-primary-color, 0.1) 55%,
            transparent 55%
          );
          background-size: 10px 10px;
          animation: zigzagFloat 5s ease-in-out infinite;
        }
      }
    }
  }

  #pg-extra-options-tab-content {
    margin-block-start: 30px;
  }

  .pg-extra-options-tabs {
    .bdt-tab {
      border-block-end: 2px solid #f1f1f1;
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      gap: 20px;

      li {
        margin: 0;
        padding: 0;
        display: inline-block;

        a {
          padding-block: 15px;
          display: inline-block;
          font-size: 15px;
          font-weight: 500;
          color: #666;
          text-decoration: none;
          position: relative;
          transition: all 0.3s ease;

          &:after {
            content: "";
            position: absolute;
            inset-block-end: -2px;
            inset-inline-start: 0;
            inline-size: 0;
            block-size: 2px;
            background: #086698;
            transition: inline-size 0.3s ease;
          }

          &:hover {
            color: #333;
          }
        }

        &.bdt-active {
          a {
            color: #086698;

            &:after {
              inline-size: 100%;
            }
          }
        }
      }
    }
  }

  .pg-option-page .bdt-widget-filter-wrapper ul {
    display: none;
    gap: 10px;
  }

  .pg-white-label-options {
    .slider:before {
      block-size: 18px;
      inline-size: 18px;
      inset-inline-start: 2px;
      inset-block-end: 1px;
    }

    .switch:after {
      display: none;
    }

    input:checked + .slider:before {
      transform: translateX(18px);
    }
  }

  /* Start Custom CSS and JS Styles */
  .pg-custom-code-section {
    .pg-code-row {
      margin-block-end: 20px;
    }

    .pg-code-editor-wrapper {
      .pg-code-editor-title {
        font-size: 16px;
        font-weight: 600;
        color: #333;
        margin: 0 0 15px 0;
        padding-block-end: 10px;
        border-block-end: 2px solid #f0f0f0;
      }

      .pg-codemirror-editor-container {
        position: relative;

        .pg-code-editor {
          min-block-size: 200px;
          inline-size: 100%;
          font-family: "Monaco", "Consolas", "Courier New", monospace;
          font-size: 13px;
          line-height: 1.5;
          border: 1px solid #ddd;
          border-radius: 4px;
          background: #fefefe;
        }

        .CodeMirror {
          min-block-size: 200px;
          inline-size: 100% !important;
          border: 1px solid #ddd;
          border-radius: 4px;
          font-family: "Monaco", "Consolas", "Courier New", monospace;
          font-size: 13px;
          line-height: 1.5;
          background: #fff;
          box-sizing: border-box;
          display: block;

          &.CodeMirror-focused {
            border-color: @blue-color;
            box-shadow: 0 0 0 1px fade(@blue-color, 25%);
          }

          .CodeMirror-scroll {
            min-block-size: 200px;
            padding: 0;
            box-sizing: border-box;
          }

          .CodeMirror-lines {
            padding-block: 4px;
            cursor: text;
          }

          .CodeMirror-gutters {
            border-inline-end: 1px solid #ddd;
            background: #fefefe;
            white-space: nowrap;
            min-inline-size: 40px;
          }

          .CodeMirror-linenumber {
            color: #999;
            padding-inline: 0 8px;
            white-space: nowrap;
            text-align: end;
            min-inline-size: 20px;
          }

          .CodeMirror-line {
            padding-inline: 0 4px;
            line-height: inherit;
          }

          .CodeMirror-cursor {
            border-inline-start: 1px solid #333;
            block-size: auto;
          }

          .CodeMirror-code {
            font-family: "Monaco", "Consolas", "Courier New", monospace;
            font-size: 13px;
            outline: none;
          }

          &.CodeMirror-wrap {
            inline-size: 100%;
          }

          &.CodeMirror-empty {
            .CodeMirror-scroll {
              min-block-size: 200px;
            }
          }
        }
      }
    }

    .pg-code-save-section {
      padding-block: 20px;
      border-block-start: 1px solid #f0f0f0;

      .bdt-button {
        padding: 12px 24px;
        font-size: 14px;
        font-weight: 500;
        border-radius: 5px;
        border: none;
        cursor: pointer;
        transition: all 0.3s ease;
        display: inline-flex;
        align-items: center;
        gap: 8px;

        .dashicons {
          font-size: 16px;
          line-height: 1;
        }

        &:hover {
          transform: translateY(-1px);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
        }

        &:active {
          transform: translateY(0);
        }

        &.bdt-btn-blue {
          background: @blue-color;
          color: #fff;

          &:hover {
            background: #097396;
          }
        }

        &.bdt-btn-grey {
          background: #e3e8eb;
          color: #1d2327;

          &:hover {
            background: #1d2327;
            color: #fff;
          }
        }
      }
    }

    .pg-code-message {
      .bdt-alert {
        border-radius: 5px;
        padding: 15px 40px 15px 15px;
        position: relative;

        &.bdt-alert-success {
          background-color: #d4edda;
          border: 1px solid #c3e6cb;
          color: #155724;
        }

        &.bdt-alert-error {
          background-color: #f8d7da;
          border: 1px solid #f5c6cb;
          color: #721c24;
        }

        p {
          margin: 0;
          font-weight: 500;
        }
      }
    }
  }

  // Enhanced code editor styles
  .pg-code-editor {
    &.scrolling {
      border-color: @blue-color;
      box-shadow: 0 0 0 1px fade(@blue-color, 30%);
    }

    &:focus {
      &::selection {
        background-color: fade(@blue-color, 20%);
      }
    }

    &::-webkit-scrollbar {
      inline-size: 8px;
    }

    &::-webkit-scrollbar-track {
      background: #f1f1f1;
      border-radius: 4px;
    }

    &::-webkit-scrollbar-thumb {
      background: #c1c1c1;
      border-radius: 4px;

      &:hover {
        background: #a8a8a8;
      }
    }
  }

  // Button loading state
  .bdt-button {
    &:disabled {
      opacity: 0.7;
      cursor: not-allowed;

      &:hover {
        transform: none !important;
        box-shadow: none !important;
      }
    }
  }

  /* Start White Label Styles */
  #pixel_gallery_extra_options_page {
    .switch {
      position: relative;
      display: inline-block;
      inline-size: 46px;
      block-size: 24px;
    }

    .switch input {
      opacity: 0;
      inline-size: 0;
      block-size: 0;
    }

    .slider {
      position: absolute;
      cursor: pointer;
      inset-block-start: 0;
      inset-inline-start: 0;
      inset-block-end: 0;
      background-color: #ccc;
      transition: 0.4s;
      border-radius: 34px;
    }

    .slider:before {
      position: absolute;
      content: "";
      block-size: 20px;
      inline-size: 20px;
      inset-inline-start: 3px;
      inset-block-end: 2px;
      background-color: white;
      transition: 0.4s;
      border-radius: 50%;
    }

    input:checked + .slider {
      background-color: #2196f3;
    }

    input:focus + .slider {
      box-shadow: 0 0 1px #2196f3;
    }

    input:checked + .slider:before {
      transform: translateX(22px);
    }
  }

  /* White Label Option Styles */
  .pg-option-item-inner {
    background: #fff;
    border-radius: 8px;
  }

  .pg-option-title {
    margin-block-end: 10px;
    font-size: 18px;
    font-weight: 600;
    color: #1e1e1e;
  }

  .pg-option-description {
    margin: 0;
    color: #666;
    font-size: 14px;
  }

  .pixel-gallery-white-label-save-btn,
  .pixel-gallery-custom-code-save-btn,
  .pixel-gallery-custom-code-reset-btn {
    padding-block: 3px;
    padding-inline: 30px;
    border: 0;
    border-radius: 6px;
    color: #fff;
    font-size: 16px;
    line-height: 40px;
    background:linear-gradient(to right, #0d3b54, #086698);;
    &:hover {
      background: linear-gradient(to right, #086698, #0d3b54);
    }
  }

  .pixel-gallery-custom-code-save-btn {
    margin-inline-end: 12px;
  }

  .pixel-gallery-custom-code-reset-btn,
  .pixel-gallery-white-label-save-btn {
    background: linear-gradient(to right, #fa6336, #ff3c3c);
    color: #fff;

    &:hover {
        background: linear-gradient(to right, #ff3c3c, #fa6336);
    }
  }

  .pg-code-message,
  .pg-white-label-message {
    position: fixed;
    inset-block-start: -100px; // start hidden above viewport
    inset-inline-start: 50%;
    transform: translateX(-50%);
    z-index: 999;
    border-radius: 4px;
    opacity: 0;
    animation: slideDown 0.5s ease-out forwards;

    .bdt-alert {
      padding-inline-end: 40px;
    }
  }

  /* Slide-down animation keyframes */
  @keyframes slideDown {
    to {
      inset-block-start: 20px; /* logical top */
      opacity: 1;
    }
  }

  /* Alerts */
  .bdt-alert {
    padding: 15px;
    margin-block-end: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    position: relative;
  }

  .bdt-alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb;
  }

  .bdt-alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeaa7;
    padding: 20px;
    border: 1px solid;
    border-radius: 8px;

    strong {
      display: block;
      margin-block-end: 8px;
      font-size: 16px;
    }
  }

  .bdt-alert-close {
    position: absolute;
    inset-block-start: 0;
    inset-inline-end: 0;
    padding: 15px;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
  }

  /* Dashicons */
  .dashicons {
    font-family: dashicons;
    display: inline-block;
    line-height: 1;
    font-weight: 400;
    font-style: normal;
    speak: none;
    text-decoration: inherit;
    text-transform: none;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    inline-size: 20px;
    block-size: 20px;
    font-size: 20px;
    vertical-align: top;
  }

  /* White Label Input */
  .pg-white-label-input {
    inline-size: 100%;
    max-inline-size: 400px;
    padding: 12px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.4;
    background-color: #fff;
    transition: border-color 0.3s ease;

    &:focus {
      outline: none;
      border-color: #2196f3;
      box-shadow: 0 0 0 2px rgba(33, 150, 243, 0.1);
    }

    &:disabled {
      background-color: #fefefe;
      color: #999;
      cursor: not-allowed;
    }
  }

  .pg-white-label-input-wrapper {
    position: relative;
    margin-block: 20px;
  }

  .pg-input-help {
    margin-block-start: 12px !important;
    color: #666 !important;
    font-size: 14px !important;
    font-style: italic;
  }

  /* White Label Fields & Locked States */
  .pg-white-label-fields {
    transition: all 0.3s ease;
    margin-block-start: 20px;
  }

  .pg-white-label-locked {
    opacity: 0.6;
    pointer-events: none;

    .pg-option-item {
      background-color: #fefefe;
    }

    .switch input:disabled + .slider {
      background-color: #ddd;
      cursor: not-allowed;
    }

    .switch input:disabled + .slider:before {
      background-color: #f0f0f0;
    }
  }

  /* Dashboard Rating */
  .bdt-others-plugin-rating {
    .bdt-others-plugin-rating-stars i {
      color: #e26f56;
      font-size: 17px;
    }

    .bdt-others-plugin-rating-text {
      font-size: 13px;
      color: #656a71;
    }
  }

  /* Dashboard Page */
  .pg-dashboard-new-page-wrapper {
    gap: 15px;
  }

  /* Install Plugin States */
  .pg-install-plugin.bdt-installing {
    opacity: 0.7;
    cursor: not-allowed;

    &:before {
      content: "";
      display: inline-block;
      inline-size: 12px;
      block-size: 12px;
      border: 2px solid #ffffff;
      border-top: 2px solid transparent;
      border-radius: 50%;
      animation: spin 1s linear infinite;
      margin-inline-end: 5px;
    }
  }

  .pg-install-plugin.bdt-installed {
    background-color: #28a745;
    border-color: #28a745;
  }

  /* Disabled Blue Buttons */
  .bdt-btn-blue:disabled {
    background-color: #ccc !important;
    color: #666 !important;
    cursor: not-allowed !important;
    opacity: 0.6;
  }
}

/* Admin Menu Upgrade Link */
#adminmenu
  #toplevel_page_pixel_gallery_options
  a[href="admin.php?page=pixel_gallery_options_upgrade"] {
  font-weight: 600;
  color: #20e2ad;
  transition: color 0.3s ease;

  &:hover {
    color: #08aeec;
  }
}

/* Pixel Gallery Admin Menu Top Level */
.toplevel_page_pixel_gallery_options {
  .bdt-notification {
    inset-block-start: 43px;
    inline-size: 400px;

    .bdt-notification-message {
      line-height: 1;
      padding: 20px;
      border-radius: 6px;
      box-shadow: 0 0 0 2px @green-color, 0 15px 22px 2px rgba(0, 0, 0, 0.2);
      background: #fff;
      font-size: 18px;
      color: @green-color;
      border-color: transparent;

      > div {
        display: flex;
        align-items: center;

        .bdt-spinner {
          margin-inline-end: 15px;
        }
      }

      .bdt-notification-close {
        inset-block-start: 50%;
        inset-inline-end: 10px;
        transform: translateY(-50%);
        inline-size: 30px;
        block-size: 30px;
        line-height: 32px;
        background: #fff0f3;
        border-radius: 6px;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
      }

      .dashicons {
        margin-inline-end: 5px;
      }

      svg {
        display: inline-flex;
        color: @red-color;
        inline-size: 12px;
      }
    }
  }

  .bdt-lightbox-toolbar {
    padding-block: 45px;
    padding-inline: 15px;
    background: rgba(0, 0, 0, 0.3);
    color: rgba(255, 255, 255, 0.7);
  }
}

/* Keyframes Animations */

/* Horizontal / Vertical Animations */
@keyframes animate1 {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes animate2 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}

@keyframes animate3 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes animate4 {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(-100%);
  }
}

/* Custom Code Editor Animations */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes floatingShape {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes fadeInOut {
  0%,
  100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}

@keyframes waveMotion {
  0%,
  100% {
    transform: rotate(-15deg) translateX(0);
  }
  50% {
    transform: rotate(-15deg) translateX(5px);
  }
}

@keyframes zigzagFloat {
  0%,
  100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(5px);
  }
}

// Responsive styles for code editors

@media (min-width: 1400px) {
  .pixel-gallery-dashboard {
    .pg-dashboard-panel {
      .bdt-card {
        &.pg-welcome-content,
        &.pg-facebook-community {
          p {
            margin-inline-end: 160px;
          }
        }
      }
    }

    .pg-system-requirement .check-system-status {
      font-size: 14px;
    }
  }
}

@media (max-width: 960px) {
  .pixel-gallery-dashboard {
    .pg-widget-onoff {
      margin: 0;
    }

    .pg-custom-code-section .pg-code-editor-wrapper {
      margin-bottom: 20px;
    }
  }
}

@media (min-width: 960px) {
  .pixel-gallery-dashboard.wrap {
    padding: 0 15px 15px;

    .pixel-gallery-footer-info p {
      text-align: end;
      margin-block-start: 0;
    }
  }
}

@media (max-width: 639px) {
  .pixel-gallery-dashboard.wrap {
    .pg-option-item-inner {
      padding: 0;

      [class^="pg-icon-"] {
        display: none;
      }
    }

    .bdt-search-active-wrap {
      display: block;

      .bdt-subnav {
        margin: 20px 0 0 -20px;
      }
    }

    .bdt-card {
      background-image: none;
    }

    .bdt-button {
      inline-size: 100%;
    }
  }
}

@media (min-width: 768px) {
  .pixel-gallery-dashboard.wrap {
    .pg-dashboard-item {
      grid-column: span 6 / auto;
    }

    #pixel_gallery_api_settings_page .pg-options {
      columns: 2;
      gap: 0;
    }

    .pg-option-page .pg-options {
      grid-template-columns: repeat(2, 1fr);
    }

    .pg-option-page .bdt-widget-filter-wrapper ul {
      display: flex;
    }

    .pg-content-type-filter {
      display: block;
    }
  }
}

@media (min-width: 1200px) {
  .pixel-gallery-dashboard.wrap {
    .pg-dashboard-nav-container-wrapper {
      display: block;
    }

    .pg-dashboard-item:nth-child(1),
    .pg-dashboard-item:nth-child(3) {
      grid-column: span 7 / auto;
    }

    .pg-dashboard-item:nth-child(2) {
      grid-column: span 5 / auto;
    }

    .pg-dashboard-panel .pg-dashboard-others-plugin .bdt-card {
      flex-direction: row;

      .bdt-others-plugins-link {
        justify-content: end;
      }
    }
  }
}

@media (min-width: 1440px) {
  :root {
    @pg-dashboard-nav-width: 300px;
  }

  .pixel-gallery-dashboard.wrap {
    .pg-dashboard-container {
      gap: 30px;
    }

    .pg-dashboard-nav-container-wrapper {
      margin-block-start: 30px;
    }

    .pg-option-page {
      margin-block-start: 30px;
    }

    .bdt-dashboard-navigation {
      inline-size: 300px;
      max-inline-size: 300px;
    }

    .pg-dashboard-header .pg-logo {
      inline-size: 300px;
    }

    .pg-dashboard-welcome-container {
      grid-row-gap: 30px;
      grid-column-gap: 30px;
    }

    .bdt-widget-filter-wrapper {
      margin-block-end: 30px;
    }

    .pg-dashboard-item:nth-child(1),
    .pg-dashboard-item:nth-child(3) {
      grid-column: span 8 / auto;
    }

    .pg-dashboard-item:nth-child(2) {
      grid-column: span 4 / auto;
    }

    #pixel_gallery_api_settings_page .pg-options {
      gap: 30px !important;

      .pg-option-item {
        margin-block-end: 30px !important;
      }
    }
  }
}

@media (min-width: 1600px) {
  .pixel-gallery-dashboard.wrap {
    #pixel_gallery_api_settings_page .pg-options {
      columns: 3;
    }

    .pg-dashboard-item {
      grid-column: span 3 / auto;
    }

    .bdt-subnav > * {
      padding-inline-start: 20px;
    }

    .pg-option-page .pg-options {
      grid-template-columns: repeat(3, 1fr);
    }
  }
}

@media (max-width: 768px) {
  .pixel-gallery-dashboard.wrap .pg-white-label-input {
    max-inline-size: 100%;
  }
}
