@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@font-face {
  font-family: "SofiaRegular";
  src: url("/fonts/sofia/regular.otf") format("opentype");
  font-weight: 400;
}
@font-face {
  font-family: "SofiaMedium";
  src: url("/fonts/sofia/medium.otf") format("opentype");
  font-weight: 600;
}
@font-face {
  font-family: "SofiaBold";
  src: url("/fonts/sofia/bold.otf") format("opentype");
  font-weight: 900;
}

:root {
  --pry-color: #09415C;
  --pry-color-rgb: 9, 65, 92;
  --cream-color: #F4F0E9;
  --grey-color: #374151;
  --green-color: #00A76E;
  --green-color-50: #00A76E77;
  --blue-color: #4D88BA;
  --blue-color-50: #4D88BA77;
  --brown-color: #8A3A34;
  --brown-color-50: #8A3A3477;
  --light-brown-color: #B17964;
  --red-color: #D14010;
  --orange-color: #FFC671;
  --orange-color-50: #CF935877;
}

body {
  font-family: 'SofiaRegular', Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #fff;
  color: #1E1E1E;
}
footer {
  margin-top: auto;
  background-color: #fff;
}
footer ul {
  list-style: none;
}
footer a {
  color: #fff !important;
  font-size: 16px;
  font-family: 'SofiaRegular';
  transition: .5s;
  padding-bottom: 5px;
  opacity: .9;
  transition: .5s;
}
footer a:hover {
  transition: .5s;
  opacity: 1;
}


label {
  font-size: 15px;
  opacity: .9;
}
.form-control {
  height: 48px;
  font-size: 15px;
  line-height: 15px;
}

.text-pry {
  color: var(--pry-color);
}
.text-blue {
  color: var(--blue-color);
}

.bg-cream {
  background-color: #f0fff8;
  border:1px solid #22b573;
}
.rd-top {
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}


a {
  text-decoration: none;
}
.fw-bold, b, strong {
  font-family: 'SofiaBold';
}
.inter, .inter * {
  font-family: 'Inter';
}
.logo {
  height: 30px
}

#mainNav {
  transition: background-color 0.4s ease-in-out;
}
.navbar {
  position: relative;
  top: 0px;
  width: 100%;
  background-color: #ffffff;
  /* z-index: 101; */
  transition: all 0.5s ease;
}
.navbar .nav-link {
  font-size: 16px;
  color: #000000;
}
.navbar .underline {
  position: relative;
}
.navbar .underline::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 1px;
  width: 100%;
  height: 1px;
  background-color: currentColor;

  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

.navbar .underline:hover::after, .navbar .underline.active::after {
  transform: scaleX(1);
}
.navbar .btn-nav {
  position: relative;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  height: 34px;
  font-size: 16px;
  font-family: 'SofiaMedium';
  padding: 20px;
  color: #fff;
  background-color: #000;
  border-radius: 59px;
  border:1px solid rgba(161, 161, 161, .2);
  box-shadow: 0px 1px 8.6px 0 rgba(0, 0, 0, 0.09)
}
.btn-nav:hover, .btn-nav:focus {
  background-color: #000;
  color: #fff;
  box-shadow: none;
}
.navbar.brown-nav {
  background-color: #532A1F;
}
.navbar.brown-nav .nav-link, .navbar.brown-nav .icon-btn, .navbar.brown-nav .btn, .navbar.brown-nav .navbar-toggler {
  color: #fff;
}
.navbar.brown-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.lt-teal-nav {
  background-color: #d1dce3;
}
.navbar.lt-teal-nav .nav-link, .navbar.lt-teal-nav .icon-btn, .navbar.lt-teal-nav .btn, .navbar.lt-teal-nav .navbar-toggler {
  color: #333;
}
.navbar.lt-teal-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.lt-sandal-nav {
  background-color: #f4f0e9;
}
.navbar.lt-sandal-nav .nav-link, .navbar.lt-sandal-nav .icon-btn, .navbar.lt-sandal-nav .btn, .navbar.lt-sandal-nav .navbar-toggler {
  color: #333;
}
.navbar.lt-sandal-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.yellow-nav {
  background-color: #fff5d5;
}
.navbar.yellow-nav .nav-link, .navbar.yellow-nav .icon-btn, .navbar.yellow-nav .btn, .navbar.yellow-nav .navbar-toggler {
  color: #333;
}
.navbar.yellow-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.lt-brown-nav {
  background-color: #6E4739;
}
.navbar.lt-brown-nav .nav-link, .navbar.lt-brown-nav .icon-btn, .navbar.lt-brown-nav .btn, .navbar.lt-brown-nav .navbar-toggler {
  color: #fff;
}
.navbar.lt-brown-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.blue-nav {
  background-color: #558DBD;
}
.navbar.blue-nav .nav-link, .navbar.blue-nav .icon-btn, .navbar.blue-nav .btn, .navbar.blue-nav .navbar-toggler {
  color: #fff;
}
.navbar.blue-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.lt-blue-nav {
  background-color: #DFECF6;
}
.navbar.lt-blue-nav .nav-link, .navbar.lt-blue-nav .icon-btn, .navbar.lt-blue-nav .btn, .navbar.lt-blue-nav .navbar-toggler {
  color: #000;
}
.navbar.lt-blue-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.lt-green-nav {
  background-color: #DAEEE7;
}
.navbar.lt-green-nav .nav-link, .navbar.lt-green-nav .icon-btn, .navbar.lt-green-nav .btn, .navbar.lt-green-nav .navbar-toggler {
  color: #000;
}
.navbar.lt-green-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.lt-grey-nav {
  background-color: #d1dce2;
}
.navbar.lt-grey-nav .nav-link, .navbar.lt-grey-nav .icon-btn, .navbar.lt-grey-nav .btn, .navbar.lt-grey-nav .navbar-toggler {
  color: #000;
}
.navbar.lt-grey-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.grey-nav {
  background-color: #42403a;
}
.navbar.grey-nav .nav-link, .navbar.grey-nav .icon-btn, .navbar.grey-nav .btn, .navbar.grey-nav .navbar-toggler {
  color: #fff;
}
.navbar.grey-nav .btn-nav {
  background-color: #000;
  color: #fff;
}
.navbar.sandal-nav {
  background-color: #58504a;
}
.navbar.sandal-nav .nav-link, .navbar.sandal-nav .icon-btn, .navbar.sandal-nav .btn, .navbar.sandal-nav .navbar-toggler {
  color: #fff;
}
.navbar.sandal-nav .btn-nav {
  background-color: #000;
  color: #fff;
}
.navbar.sky-nav {
  background-color: #355c79;
}
.navbar.sky-nav .nav-link, .navbar.sky-nav .icon-btn, .navbar.sky-nav .btn, .navbar.sky-nav .navbar-toggler {
  color: #fff;
}
.navbar.sky-nav .btn-nav {
  background-color: #fff;
  color: #000;
}
.navbar.dark-sky-nav {
  background-color: #27323f;
}
.navbar.dark-sky-nav .nav-link, .navbar.dark-sky-nav .icon-btn, .navbar.dark-sky-nav .btn, .navbar.dark-sky-nav .navbar-toggler {
  color: #fff;
}
.navbar.dark-sky-nav .btn-nav {
  background-color: #000;
  color: #fff;
}
.navbar.cream-nav {
  background-color: #CAB8AB;
}
.navbar.lt-cream-nav {
  background-color: #E6D8CE;
}
.dropdown-menu, .dropdown-menu.show {
  transition: opacity 0.5s ease;
  padding: 0;
  overflow: hidden;
  opacity: 0;
  right:0 !important;
  left:auto !important;
  border-radius: 10px;
  margin-top: -2px;
  margin-left: -1px;
  border-top-right-radius: 0 !important;
}

.navbar-nav .nav-item.dropdown:hover .dropdown-menu {
  opacity: 1;
}
.navbar-nav .nav-item.dropdown:hover .dropdown-menu {
  display: block;
}

.navbar-nav .nav-item.dropdown .dropdown-menu {
  display: none;
}

.dropdown-item {
  font-size: 14px;
  padding: 10px 40px 10px 20px;
  cursor: pointer;
}
.dropdown-item.active {
  background-color: #09415c;
  color: #fff;
}
.dropdown-item:focus, .dropdown-item:hover {
  background-color: #1F1F1F;
  color: #fff;
}
.hero {
  overflow: hidden;
  min-height: 700px;
}


.btn-pry {
  background-color: #287EA7;
  color: #fff;
  transition: .5s;
}
.btn-pry:hover, .btn-pry:focus {
  background-color: var(--pry-color);
  color: #fff;
  transition: .5s;
}

.btn-black {
  background-color: #000;
  color: #fff;
}


.title {
  font-size: 62px;
  line-height: 70px;
  font-family: 'SofiaMedium';
  letter-spacing: -3px;
  /* color: var(--grey-color); */
}
.reg {
  font-family: 'SofiaRegular' !important;
}
.title.sm {
  font-size: 50px;
  line-height: 60px;
}
.subtitle {
  font-size: 40px;
  line-height: 50px;
  font-family: 'SofiaRegular';
  letter-spacing: -0.5px;
  /* color: var(--grey-color); */
}
.subtitle.sm {
  font-size: 34px;
  line-height: 42px;
}
.header {
  font-size: 30px;
  letter-spacing: -0.5px;
  color: var(--grey-color);
}
.subheader {
  font-size: 26px;
  letter-spacing: -0.5px;
  /* color: var(--grey-color); */
}


.hero-headline.medium {
  font-size: 28px;
}
.swiper {
  overflow: hidden;
  /* height: 250px; */
  height: 85px;
  position: relative;
}
.swipes {
  transition: transform 0.6s ease;
}


@property --gradient-stop {
  syntax: '<color>';
  initial-value: transparent;
  inherits: false;
}


.progress.gv-progress {
  height: 10px;
}

.prg.blue:hover { --gradient-stop: var(--blue-color-50); }
.prg.green:hover { --gradient-stop: var(--green-color-50); }


.prg.white {
    --gradient-stop: #fff;
  background: #fff linear-gradient(to right, #fff 0%, #fff0 40%, var(--gradient-stop) 100%);
  padding: 20px;
  padding-bottom: 0;
  display: flex;
  flex-direction: row;
  border-radius: 24px;
  transition: --gradient-stop 0.4s ease, transform 0.5s ease;
}
.prg.white img {
  width: 50%;
}

.prg .glass .btn:hover {
  transform: translateY(-4px);
}


.coverage img.sm {
  width: 92px;
}


.slider-container.md {
  padding-top: 0;
  --slide-width:30vw;
  --slide-height:350px;
}
.slider-container.sm {
  padding-top: 0;
  --slide-width:28vw;
  --slide-height:280px;
}
.slider-container.vertical {
  height: 300px;
  overflow: visible;
}


.slider-container.paused .slider-track {
  cursor: default;
}


.slide {
  flex: 0 0 var(--slide-width);
  height: var(--slide-height);
  border-radius: 24px;
  display: flex;
  align-items: flex-start;
  padding: 40px;
  color: white;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
  background-size: cover;
}
.slider-container.vertical .slide{
  height: auto !important;
  flex: auto !important;
}
.testimonials .slide {
  /*min-height: 350px;*/
}

.slide:not(.rm-grad)::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.35), transparent);
}


.slide-btn.left { left: 40px; }
.slide-btn.right { right: 40px; }

/* Container for nav buttons */
#test-slider.owl-carousel .owl-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

/* Button styles */
#test-slider.owl-carousel .owl-nav button {
  position: static;
  transform: none;
  width: 40px;
  height: 40px;
  display: grid;
  place-items:center;
  background: #fff !important;
  color: #1F1F1F;
  border-radius: 50%;
  font-size: 18px;
  transition: all 0.3s ease;
}

#test-slider.owl-carousel .owl-nav button:hover {
  background: #333 !important;
}

.accordion-item {
  border:0;
  border-bottom: 0.1875rem solid rgba(0, 0, 0, 0.06);
}
.accordion-button:not(.collapsed), .accordion-button {
  border-radius: 0;
  background: none;
  box-shadow: none !important;
  font-size: 32px;
  color: #000000;
  font-family: 'SofiaMedium';
}
.accordion-button::after {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    content: "\f067";
    background-image: none;
    transition: transform 0.25s ease, opacity 0.15s ease;
    width: 40px;
    height: 40px;
    background-color: #F3EFEF;
    border-radius: 100%;
    display: grid;
    place-items: center;
    font-size: 22px;
    transition: .3s;
}
.accordion-button:not(.collapsed)::after {
    background-image: none;
    content: "\f068";
    transition: transform 0.25s ease, opacity 0.15s ease;
    margin-top: 15px;
}
.accordion-button:not(.collapsed):hover::after {
  transform: scale(1.3) rotate(180deg);
}
.accordion-button:hover::after {
  transform: scale(1.3);
  background-color: #1E1E1E;
  color: #fff;
  transition: .3s;
}
.accordion-body {
  font-size: 22px;
}
.accordion-item:last-of-type, .accordion-item:first-of-type {
  border-radius: 0;
}


.callout.about {
  background-image: url('/img/webp/callout-about.webp');
}


.page-title {
  font-size: 52px;
  line-height: 58px;
  font-weight: 'SofiaMedium';
  letter-spacing: -2px
}


.num {
  height: 30px;
  width: 30px;
  line-height: 34px;
  background-color: #FFC671;
  color: #1F1F1F;
  display: grid;
  place-items: center;
  border-radius: 100%;
}


.wistia_click_to_play {
  display: grid;
  place-items: center;
}
.wistia_click_to_play > div > div:nth-child(2),
.wistia_click_to_play > div > div:nth-child(3) {
  opacity: 0;
}
.wistia-popup {
  position: relative;
}
.wistia-popup .play-blue {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 180px;
  width: 180px;
  animation: pulse-animation 5s infinite;
  cursor: pointer;
}
.wistia-popup .play-white {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 120px;
  width: 120px;
  cursor: pointer;
  animation: pulse-animation 5s infinite;
}
.wistia-popup .play-white > img {
  width: 100%;
  height: 100%;
}

@keyframes pulse-animation {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 0.95;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}


.shd.blue {
  color: #556FBA;
}


@media screen and (max-width:1399px) {

  .slider-container.sm {
    --slide-width:28vw;
    --slide-height:250px;
  }

  .slide .subtitle.sm {
    font-size: 28px;
    line-height: 40px;
  }

  .title {
    font-size: 54px;
    line-height: 64px;
  }
  .title.sm {
    font-size: 50px;
    line-height: 60px;
  }





}

@media screen and (max-width:1199px) {









  .coverage img.sm {
    width: 80px;
  }
  .title {
    font-size: 52px;
    line-height: 60px;
  }
  .title.sm {
    font-size: 45px;
    line-height: 55px;
  }
  .subtitle {
    font-size: 32px;
    line-height: 40px;
  }
  .subtitle.sm {
    font-size: 30px;
    line-height: 38px;
  }

  .slider-container.sm {
    --slide-width:28vw;
    --slide-height:200px;
  }

  .slide .subtitle.sm {
    font-size: 24px;
    line-height: 34px;
  }




  .page-title {
    font-size: 45px;
    line-height: 55px;
  }

}


@media screen and (max-width:991px) {
  .hero {
    min-height: auto;
    padding-block:50px;
  }





  .center {
    display: grid;
    place-items: center;
  }





  .navbar .btn-nav {
    background-color: #000 !important;
    color: #fff !important;
  }
  .navbar-collapse {
      position: fixed;
      top: 0;
      left: -100%;
      width: 80%;
      max-width: 320px;
      height: 100vh;
      background: #fff;
      z-index: 110;
      overflow-y: auto;
      box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
      border-top-right-radius: 25px;
      border-bottom-right-radius: 25px;
    }

    .navbar-collapse.show {
        left: 0;
    }

    /* Overlay */
    .nav-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 100;
        display: none;
    }

    .nav-overlay.show {
        display: block;
        opacity: 1;
        visibility: visible;
    }

    /* Prevent body scroll when nav is open */
    body.nav-open {
        overflow: hidden;
    }
  .bar-container {
    padding: 15px 25px;
    background-color: #ffffff;
    height: 100vh;
    overflow: auto;
  }
  .collapse,
  .collapse.show {
    transition: none !important;
  }
  .navbar-toggler {
    font-size: 1.2rem;
    height: 40px;
    line-height: 39px;
    border:none;
  }
  #navBar .menu-close {
    font-size: 1.65rem;
    opacity: 0.5;
  }
  .navbar-toggler:focus{
    box-shadow: none;
  }
  .nav-link {
    color: #000000 !important;
    font-size: 14px;
  }
  .nav-link.active {
    color: var(--pry-color) !important;
  }
  .navbar-nav .nav-item.dropdown .dropdown-menu, .navbar-nav .nav-item.dropdown:hover .dropdown-menu {
    display: none;
  }
  .navbar-nav .nav-item.dropdown .dropdown-menu.show, .navbar-nav .nav-item.dropdown:hover .dropdown-menu.show {
    display: block;
  }
  .dropdown-menu, .dropdown-menu.show {
    opacity: 1;
    border-radius: 0;
    border: 0;
    margin-bottom:10px;
  }
  .dropdown-item {
    border-bottom: 1px solid #ddd;
  }
  .overlay {
    background-image: url('/img/overlay-mobile.svg');
    background-position: top left;
  }


  .mb-100 {
    width: 100%;
  }



  .coverage img.sm {
    width: 100px;
  }





  .slide {
    padding: 20px;
  }
  .slide .subtitle.sm {
    font-size: 20px;
    line-height:30px
  }

  .slider-container.sm {
    padding-top: 0;
    --slide-width:30vw;
    --slide-height:180px;
  }
  .slider-container.md {
    --slide-width: 45vw;
    --slide-height:320px;
  }












  .title.sm {
    font-size: 40px;
    line-height: 50px;
  }

}

@media screen and (max-width:767px) {
  .wistia-popup .play-white {
    position: absolute;
    top: 47%;
    right: calc(50% - 50px);
    height: 100px;
    width: 100px;
    cursor: pointer;
  }
  .wistia-popup .play-white > img {
    width: 100%;
    height: 100%;
  }


  .hero-headline.medium {
    font-size: 22px;
  }

  .wistia-popup .play-blue {
    height: 130px;
    width: 130px;
  }


  .crd:not(.no-blur) .row, .crd-h:not(.no-blur) > div {
    background: rgba(38, 38, 38, .25);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  }
  .crd.no-blur .row, .crd-h:not(.no-blur) > div {
    background: rgba(38, 38, 38, .5);
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
  }
  .title {
    letter-spacing: -1.5px;
  }

  .callout.about {
    min-height: 700px;
    background-image: url('/img/callout-about-mobile.jpg');
    border-radius: 0 !important;
  }
  footer {
    border-radius: 0 !important;
  }




    .opt-grad .subtitle {
      font-size: 28px;
      line-height: 38px;
    }
    .swiper, .swipe {
      height: 220px;
    }






    .title {
      font-size: 45px;
      line-height: 50px;
    }
    .title.sm {
      font-size: 40px;
      line-height: 48px;
    }
    .subheader {
      font-size: 22px;
    }

    .slider-container.md {
      --slide-width: 45vw;
      --slide-height:340px;
    }
    .slider-container.sm {
      --slide-width: 45vw;
      --slide-height:150px;
    }
    .slider-container.md p {
      font-size: 17px;
    }

    .coverage img.sm {
      width: 100px;
    }
    .accordion-button:not(.collapsed), .accordion-button {
      font-size: 25px;
    }
    .accordion-body {
      font-size: 18px;
    }
    .accordion-button:not(.collapsed):hover::after {
      transform: scale(1.1) rotate(180deg);
    }
    .accordion-button:hover::after {
      transform: scale(1.1);
    }
    .accordion-button:not(.collapsed)::after {
      margin-top: 0;
    }
    .accordion-button::after {
      font-size: 18px;
      height: 38px;
      width: 38px;
    }


    .slide .subtitle.sm {
      font-size: 22px;
    }

    footer {
      padding-block:40px;
    }
    .header {
      font-size: 25px;
      line-height: 35px;
    }



    .page-hero .subtitle {
      font-size: 26px;
      line-height: 36px;
    }
    .page-title {
      font-size: 42px;
      line-height: 52px;
    }









}
@media screen and (max-width:575px) {





  .crd-h > div, .crd-h, .crd > .row {
    min-height: 300px;
  }
  .crd-h .header {
    font-size: 32px;
    line-height: 42px;
  }



  .swiper, .swipe {
    /* height: 200px; */
    height: 45px;
  }


  .slider-container.sm {
    --slide-width: 60vw;
    --slide-height:150px;
  }

  .coverage img.sm {
    width: 90px;
  }
  .title {
    font-size: 38px;
    line-height: 46px;
  }
  .title.sm {
    font-size: 34px;
    line-height: 44px;
  }
  .accordion-button {
    gap:15px;
  }
  .accordion-button:not(.collapsed), .accordion-button {
    letter-spacing: -1px;
    font-size: 22px;
  }



  .slide-btn.left {
    left: 20px;
  }
  .slide-btn.right {
    right: 20px;
  }


  .opt-grad .subtitle {
    font-size: 30px;
    line-height: 34px;
  }





  .top-text .subtitle.sm {
    font-size: 24px;
    line-height: 34px;
  }
  .page-title {
    font-size: 38px;
    line-height: 46px;
  }
  .navbar-collapse {
    width: 100vw;
  }
}
@media screen and (max-width:400px) {
  p {
    font-size: 17px;
  }


  .swiper, .swipe {
    /* height: 150px; */
    height: 34px;
  }
  .title {
    font-size: 35px;
    line-height: 42px;
  }
  .title.sm {
    font-size: 27px;
    line-height: 40px;
  }
  .subtitle {
    font-size: 25px;
    line-height: 35px;
  }
  .subtitle.sm {
    font-size: 22px;
    line-height: 32px;
  }
  .subtitle.lg {
    font-size: 28px;
    line-height: 32px;
  }

  .subheader {
    font-size: 18px;
  }


  .coverage img.sm {
    width: 80px;
  }
  .yellow-gradient .subheader {
    font-size: 22px;
  }




  .page-title {
    font-size: 34px;
    line-height: 46px;
  }


}


.wistia_click_to_play {
  display: grid;
  place-items: center;
}
.wistia_click_to_play > div > div:nth-child(2),
.wistia_click_to_play > div > div:nth-child(3) {
  opacity: 0;
}
.wistia-popup {
  position: relative;
}
.wistia-popup .play-blue {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 180px;
  width: 180px;
  animation: pulse-animation 5s infinite;
  cursor: pointer;
}


.custom-works-dots .dot {
  font-size: 13px;
  color: red;
  height: 15px;
  width: 15px;
}
.custom-works-dots .dot.active {
  background-color: var(--cgm-pry-color);
}

.people-carousel .h-100 {
  min-height: 478px;
}


.play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 20px;
  height: 65px;
  width: 65px;

  color: #fff !important;
  display: grid;
  place-items: center;
  border-radius: 100%;
  background: rgba(0, 62, 68, .4);
  backdrop-filter: blur(2px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.play.sm {
  height: 40px;
  width: 40px;
  font-size: 14px;
  animation: pulse 2.5s infinite;
}
.play.lg {
  height: 90px;
  width: 90px;
  font-size: 40px;
  animation: pulse 2.5s infinite;
}


.wistia_click_to_play {
  display: grid;
  place-items: center;
}
.wistia_click_to_play > div > div:nth-child(2),
.wistia_click_to_play > div > div:nth-child(3) {
  opacity: 0;
}
.wistia-popup {
  position: relative;
}
.wistia-popup .play-blue {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 180px;
  width: 180px;
  animation: pulse-animation 5s infinite;
  cursor: pointer;
}


/* Brown CGM hero card */


.gv-feat-cgm .p-title {
  font-family: 'SofiaMedium';
  font-size: 44px;
  line-height: 48px;
  letter-spacing: -2px;
  color: #fff;
  margin-bottom: 28px;
}


/* Light blue Entero card */


.gv-feat-entero .p-title {
  font-family: 'SofiaMedium';
  font-size: 28px;
  line-height: 32px;
  letter-spacing: -1px;
  margin-bottom: 25px;
}


/* Dark photo WatchPat card */


.gv-feat-watchpat .p-title {
  font-family: 'SofiaMedium';
  font-size: 28px;
  line-height: 32px;
  letter-spacing: -1px;
  color: #fff;
}
.gv-feat-watchpat .check {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  color: rgba(255, 255, 255, .92);
  margin-bottom: 10px;
}

/* Shared pill buttons in featured cards */

.gv-pill.dark {
  background-color: #000;
  color: #fff;
}
.gv-pill.dark:hover {
  background-color: #1E1E1E;
  color: #fff;
  transform: translateY(-1px);
}
.gv-pill.light {
  background-color: #fff;
  color: #1E1E1E;
  opacity: .85;
}
.gv-pill.light:hover {
  background-color: var(--cream-color);
  color: #1E1E1E;
  transform: translateY(-1px);
}


/* Right column stack + Entero CTA placement */


@media (max-width: 1399px) {

  .gv-feat-cgm .p-title {
    font-size: 38px;
    line-height: 40px;
  }



  .prg .glass .subheader {
    font-size: 24px;
  }
  .prg .glass .btn {
    font-size: 14px;
  }

  .hero {
    min-height: auto;
    padding-block:50px;
  }
}


@media (max-width: 575px) {

  .gv-feat-cgm .gv-pill.dark {
    width: 100%;
    justify-content: center;
  }


  /* .gv-feat-cgm .product-title { font-size: 30px; line-height: 34px; }
  .gv-feat-entero .ghost-text { display: none; } */
}


.gv-col-card .chip {
  display: inline-flex;
  align-items: center;
  padding: 6px 18px;
  border-radius: 59px;
  font-size: 13px;
  font-family: 'SofiaMedium';
  background: transparent;
  border: 1px solid rgba(0, 0, 0, .15);
  color: var(--brown-color);
  margin-bottom: 18px;
}
.gv-col-card.brown .chip {
  background: var(--cream-color);
  border-color: transparent;
  color: var(--brown-color);
}


.gv-col-card .col-cta.dark {
  background-color: #000;
  color: #fff;
}
.gv-col-card .col-cta.dark:hover {
  background-color: #1E1E1E;
  color: #fff;
}


.gv-col-shop-now {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  border-radius: 59px;
  background: #000;
  color: #fff;
  font-family: 'SofiaMedium';
  font-size: 14px;
  transition: .3s;
}
.gv-col-shop-now:hover {
  background: #1E1E1E;
  color: #fff;
  transform: translateY(-1px);
}


.gv-auth {
  padding-top: 40px;
  padding-bottom: 60px;
}
.gv-auth-card {
  background-color: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.04);
}
.gv-auth-form {
  padding: 48px 44px;
}
.gv-auth-side {
  background-color: #f6f4f0;
  padding: 48px 44px;
}
.gv-title {
  font-family: 'SofiaMedium';
  font-size: 40px;
  line-height: 46px;
  letter-spacing: -1.5px;
  margin-bottom: 8px;
  color: var(--pry-color);
}
.gv-auth .gv-sub {
  font-size: 16px;
  color: #7A7A7A;
  margin-bottom: 28px;
}
.gv-auth .gv-field {
  display: flex;
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  padding: 4px 16px;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.gv-auth .gv-field:focus-within {
  border-color: var(--pry-color);
  box-shadow: 0 0 0 4px rgba(var(--pry-color-rgb), 0.10);
}
.gv-auth .gv-field .gv-ic {
  width: 28px;
  color: var(--pry-color);
  font-size: 16px;
  text-align: center;
  margin-right: 6px;
}
.gv-auth .gv-field .form-control {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0px 4px;
  font-size: 15px;
  color: #1E1E1E;
}
.gv-auth .gv-field .form-control::placeholder {
  color: #9A9A9A;
}
.gv-auth .gv-eye {
  color: #7A7A7A;
  padding: 4px 8px;
}
.gv-auth .gv-eye:hover {
  color: var(--pry-color);
}
.gv-auth .btn-google {
  background-color: #ffffff;
  color: #1E1E1E;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 59px;
  height: 52px;
  font-size: 15px;
  font-family: 'SofiaMedium';
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
}
.gv-auth .btn-google:hover {
  background-color: var(--cream-color);
  border-color: rgba(0, 0, 0, 0.25);
}
.gv-auth .btn-google img {
  height: 20px;
  margin-right: 10px;
}
.gv-auth .gv-divider {
  position: relative;
  text-align: center;
  margin: 22px 0 18px;
}
.gv-auth .gv-divider::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(0, 0, 0, 0.1);
}
.gv-auth .gv-divider span {
  position: relative;
  background: #ffffff;
  padding: 0 14px;
  font-size: 13px;
  letter-spacing: 1px;
  color: #9A9A9A;
  text-transform: uppercase;
}
.gv-auth .gv-meta p {
  margin-bottom: 6px;
  font-size: 15px;
  color: var(--grey-color);
}
.gv-auth .alert {
  border-radius: 12px;
  border: none;
  font-size: 14px;
}
.gv-auth .alert-danger {
  background-color: rgba(209, 64, 16, 0.1);
  color: var(--red-color);
}
.gv-auth .alert-success {
  background-color: rgba(0, 167, 110, 0.12);
  color: #007a51;
}
.gv-auth .gv-recap-error {
  color: var(--red-color);
  font-size: 13px;
  margin-top: 8px;
  display: inline-block;
}

@media (max-width: 991px) {
  .gv-auth-form { padding: 36px 24px; }
  .gv-auth-side { padding: 0; }
  .gv-title { font-size: 34px; line-height: 40px; }
}

/* ── Products page ── */

/* Filter sidebar */
.filter-holder {
  font-size: 14px;
}
.filter-holder > .filter-form > .border-bottom {
  padding-bottom: 12px;
  margin-bottom: 12px !important;
}
.attribute-label {
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #555 !important;
}
.filter-holder .form-control-sm {
  border-radius: 8px !important;
  border: 1px solid #e8e8e8 !important;
  background: #f7f7f7 !important;
  font-size: 13px;
}
.filter-holder label {
  font-size: 14px;
  color: #333;
  gap: 8px;
}
.filter-holder input[type=checkbox] {
  accent-color: var(--pry-color);
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}
.filter-holder .btn-outline-secondary {
  border-radius: 30px !important;
  font-size: 13px;
  padding: 8px 0;
  border-color: #ddd;
  color: #555;
}
.filter-holder .btn-outline-secondary:hover {
  background: #f5f5f5;
  color: #222;
  border-color: #ccc;
}

/* Hero bar — sort + view toggle */
.gv-products-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.gv-products-bar .gv-view-toggle {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  padding: 4px;
  gap: 2px;
}
.gv-products-bar .gv-view-toggle a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 7px;
  color: #999;
  font-size: 15px;
  transition: background .15s, color .15s;
}
.gv-products-bar .gv-view-toggle a.text-pry {
  background: var(--pry-color);
  color: #fff !important;
}
.gv-products-bar .gv-sort-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.gv-products-bar .gv-sort-wrap::before {
  content: '\f0b0';
  font-family: 'Font Awesome 5 Pro', 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  left: 12px;
  color: #888;
  font-size: 12px;
  pointer-events: none;
  z-index: 1;
}
.gv-products-bar select.form-control {
  appearance: none;
  -webkit-appearance: none;
  padding-left: 30px;
  padding-right: 30px;
  height: 40px !important;
  font-size: 13px !important;
  border: 1px solid #e4e4e4 !important;
  border-radius: 10px !important;
  background: #fff !important;
  cursor: pointer;
  min-width: 170px;
  color: #333;
  box-shadow: none !important;
}
.gv-products-bar .gv-sort-wrap::after {
  content: '\f107';
  font-family: 'Font Awesome 5 Pro', 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  right: 12px;
  color: #888;
  font-size: 12px;
  pointer-events: none;
}

/* Active filter pills */
.gv-products-bar .badge.bg-pry,
#heroComponent .badge.bg-pry {
  border-radius: 20px;
  font-size: 12px;
  font-weight: 500;
  padding: 5px 10px !important;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  letter-spacing: .01em;
}

/* Product cards */


/* ── Single product page ── */

/* Gallery layout: thumbnails left strip + main image fills right */

.singleProduct > .w-100 {
  flex: 1;
  min-width: 0;
}

.thumbnails .additional {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Main image frame */


/* Mobile image */
.singleProduct .text-center.mobile span {
  height: 320px !important;
  border-radius: 16px !important;
  border: 1px solid #efefef !important;
  background: #f7f7f7 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

/* Thumbnails */


.add-img.active { border-color: var(--pry-color) !important; background: #fff !important; }


/* Share row */


/* Right column — meta */

.col-lg-6.ps-lg-4 > small:first-child {
  font-size: 12px;
  letter-spacing: .05em;
  color: #bbb;
  text-transform: uppercase;
}
.col-lg-6.ps-lg-4 h6.text-muted {
  font-size: 15px !important;
  font-weight: 500;
}

/* Quantity selector */
.add-qt .form-control {
  font-size: 16px !important;
  border: none !important;
  text-align: center;
  font-weight: 600;
}

/* Subscribe & Save options */


.sp-sub .alert-success {
  border-radius: 8px !important;
  font-size: 14px !important;
  padding: 8px 14px !important;
}

/* CTA buttons */
#addToCartForm .d-flex > button[type=submit] {
  border-radius: 30px !important;
  padding: 14px 28px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Wishlist / favourite button */
.wish .btn-outline-pry,
.wish .btn {
  border-radius: 30px !important;
  font-size: 14px !important;
  padding: 10px 20px !important;
}

/* Shipping note */
.col-lg-6.ps-lg-4 .mt-3 small {
  font-size: 13px !important;
  color: #888;
  line-height: 1.6;
}

/* Accordion (Supplement Facts / Suggested Usage / Caution) */
.single-product-details > .card {
  border: 1px solid #efefef !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: none !important;
  margin-bottom: 10px !important;
}


.single-product-details .card-body {
  padding: 18px 22px !important;
  font-size: 15px !important;
  line-height: 1.75;
  color: #444;
}

/* Description / Reviews tab pills → underline style */
#pills .nav-link {
  padding: 0 0 12px !important;
  margin-right: 32px;
  border-radius: 0 !important;
  border-bottom: 2px solid transparent;
  color: #999;
  background: none !important;
}
#pills .nav-link.active {
  background: none !important;
  border-bottom-color: var(--pry-color);
  color: #111 !important;
}
#pills .nav-link h4 {
  font-size: 17px !important;
  font-weight: 600;
  margin: 0 !important;
}

/* ── Cart ── */

/* Deal items card — clean monochromatic overhaul */

/* Promo code badge — left edge */
.shopping-cart.with-promotion .card-header .code,
.cde {
  background: var(--orange-color) !important;
  color: #000 !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 10px 14px !important;
  top: -17px !important;
  left: 10px !important;
  display: inline-block;
  line-height: 12px;
}
/* Remove deal button — right edge */

.shopping-cart.with-promotion .card-header .delete {
  background: #e53935 !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  font-size: 12px !important;
  transition: background .2s;
}
.shopping-cart.with-promotion .card-header .delete:hover {
  background: #c62828 !important;
}


.shopping-cart.with-promotion .border-bottom.pb-3.mb-3 {
  padding-block: 10px !important;
  margin-bottom: 0 !important;
}
/* Deal item rows — add border */
.shopping-cart.with-promotion .item {
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0 !important;
  padding: 16px 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
/* Deal item product image */
.shopping-cart.with-promotion .item .details .photo {
  width: 90px !important;
  height: 90px !important;
  border-radius: 10px !important;
  border: 1px solid #f0f0f0 !important;
  background: #f8f8f8 !important;
  padding: 6px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.shopping-cart.with-promotion .item .details .photo a {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.shopping-cart.with-promotion .item .details .photo a img {
  width: 100% !important;
  height: 78px !important;
  object-fit: contain;
}

/* Save badge on deals */
.shopping-cart.with-promotion .bg-danger {
  background: #f5f5f5 !important;
  color: #e53935 !important;
  border-radius: 20px !important;
  font-weight: 700;
  font-size: 12px !important;
}

/* Standard item cards only — leave deal card (.with-promotion) untouched */

.shopping-cart:not(.with-promotion) .card-body {
  padding: 0 !important;
}
.shopping-cart:not(.with-promotion) .item {
  background: #fff;
  border-radius: 16px !important;
  padding: 18px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
  transition: box-shadow .2s;
}
.shopping-cart:not(.with-promotion) .item:not(:last-child) {
  margin-bottom: 12px !important;
}
.shopping-cart:not(.with-promotion) .item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.08);
}

/* Product image — standard items */
.shopping-cart:not(.with-promotion) .item .details .photo {
  width: 110px !important;
  height: 110px !important;
  border-radius: 12px !important;
  border: 1px solid #f0f0f0 !important;
  background: #f8f8f8 !important;
  padding: 8px !important;
  flex-shrink: 0;
}
.shopping-cart:not(.with-promotion) .item .details .photo a {
  width: 100% !important;
  height: 100%;
  margin: 0 !important;
}
.shopping-cart:not(.with-promotion) .item .details .photo a img {
  width: 100%;
  height: 90px !important;
  object-fit: contain;
}

/* Trash & wishlist icons */
.shopping-cart:not(.with-promotion) .item .delete {
  color: #ccc !important;
  font-size: 14px !important;
  transition: color .2s;
}
.shopping-cart:not(.with-promotion) .item .delete:hover {
  color: #e53935 !important;
}
.shopping-cart:not(.with-promotion) .item .wishlist {
  color: #ccc !important;
  transition: color .2s;
}
.shopping-cart:not(.with-promotion) .item .wishlist.active,
.shopping-cart:not(.with-promotion) .item .wishlist:hover {
  color: var(--pry-color) !important;
}

/* Item total */
.shopping-cart .item .summary h4 {
  font-size: 18px !important;
  font-weight: 700 !important;
}
.shopping-cart .item .summary small {
  font-size: 11px !important;
  color: #bbb !important;
}

/* Subscribe & Save panel */

.sub-save .alert-success {
  border-radius: 30px !important;
  font-size: 13px !important;
  padding: 7px 14px !important;
  border: none !important;
  background: #edf7f0 !important;
  color: #2e7d52 !important;
  display: inline-flex !important;
  width: auto !important;
  align-items: center;
  gap: 6px;
  margin-bottom: 14px !important;
}


.sub-save select.form-control {
  height: 36px !important;
  font-size: 14px !important;
  border-radius: 8px !important;
  border-color: #ddd !important;
  max-width: 75px;
  padding: 0 8px !important;
}
.sub-save .d-flex.mt-3 a.ge-switch-to-subscribe {
  border-radius: 30px !important;
  padding: 8px 22px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}
.sub-save .d-flex.mt-3 a.bg-white {
  border-radius: 30px !important;
  padding: 8px 22px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 1px solid #ddd !important;
  color: #555 !important;
}

/* Summary panel */


/* Promo code */
.apply-coupon .form-control {
  border-radius: 10px !important;
  font-size: 14px !important;
  height: 44px !important;
  border-color: #e4e4e4 !important;
}


/* Checkout button */
.checkout-form .btn-pry {
  border-radius: 30px !important;
  padding: 14px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
}
.checkout-form .text-center small {
  font-size: 12px;
  color: #aaa;
  line-height: 1.6;
}

/* Mobile sticky bar */
.checkout-mb .btn-pry {
  font-size: 16px !important;
  font-weight: 600 !important;
}

/* Empty cart */
.border.border-rounded.text-center.p-5 {
  border-radius: 16px !important;
  border-color: #efefef !important;
  background: #fafafa;
  padding: 60px 40px !important;
}
.border.border-rounded.text-center.p-5 h4 { font-size: 48px !important; margin-bottom: 16px; }
.border.border-rounded.text-center.p-5 h5 { font-size: 20px !important; font-weight: 700 !important; color: #222; margin-bottom: 10px; }
.border.border-rounded.text-center.p-5 p { font-size: 15px; color: #888; margin-bottom: 24px; }
.border.border-rounded.text-center.p-5 .btn-pry {
  border-radius: 30px !important;
  padding: 12px 32px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

/* ── Profile ── */

/* Sidebar card */
.col-lg-4 .bg-white.shd {
  border-radius: 16px !important;
  padding: 20px !important;
}

/* User display name */
.col-lg-4 .bg-white.shd > div:first-child {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.col-lg-4 .bg-white.shd > div:first-child i {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f4f4f4;
  display: flex !important;
  align-items: center;
  justify-content: center;
  font-size: 15px;
}
.col-lg-4 .bg-white.shd > div:first-child b {
  font-size: 15px;
  color: #111;
}

/* Sidebar section labels */
.col-lg-4 .bg-white.shd h6.font-weight-bold {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #aaa !important;
  margin-bottom: 4px !important;
}
.col-lg-4 .bg-white.shd h6.font-weight-bold i { color: #aaa !important; }

/* Sidebar nav links */
.nav-pills .nav-link.settings {
  border-bottom: none !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 500;
  color: #555 !important;
  padding: 10px 12px !important;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: background .15s, color .15s;
}
.nav-pills .nav-link.settings:hover {
  background: #f5f5f5;
  color: #111 !important;
}
.nav-pills .nav-link.settings.active {
  background: #f0f0f0 !important;
  color: var(--pry-color) !important;
  border-bottom: none !important;
}
.nav-pills .nav-link.settings i {
  font-size: 14px;
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}

/* Account balance */
.col-lg-4 .bg-white.shd .mt-3 > h6 {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #aaa !important;
  margin-bottom: 6px !important;
}
.col-lg-4 .bg-white.shd [style*="font-size: 40px"] {
  font-size: 32px !important;
  font-weight: 800 !important;
  color: #111;
  line-height: 1;
  margin-bottom: 12px;
}

/* Gift card redeem input */
#redeemGiftCardComponent .form-control {
  border-radius: 10px !important;
  height: 40px !important;
  font-size: 13px !important;
  border-color: #e4e4e4 !important;
}


/* Right-side content panels */
.tab-content .border,
.tab-content .shd {
  border-radius: 16px !important;
  /* border-color: #f0f0f0 !important; */
  overflow: hidden;
}
.tab-content .bg-white.p-3 {
  padding: 24px !important;
}
.tab-content h4.font-weight-bold,
.tab-content h4.pb-2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #111;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #f5f5f5;
  margin-bottom: 16px !important;
}

/* Settings rows (name, password, login toggles) */


.settings-content h6.fw-normal {
  font-size: 15px !important;
  color: #444;
}

/* Settings buttons */
.settings-content .btn,
.settings-content a.btn {
  border-radius: 30px !important;
  font-size: 13px !important;
  /* padding: 7px 18px !important; */
}

/* Orders — tab pills → underline style */
.order-list #pills .nav-link {
  background: none !important;
  border-radius: 0 !important;
  border-bottom: 2px solid transparent !important;
  padding: 0 0 10px !important;
  margin-right: 28px;
  color: #999 !important;
}
.order-list #pills .nav-link.active {
  border-bottom-color: var(--pry-color) !important;
  color: #111 !important;
}
.order-list #pills .nav-link h5 {
  font-size: 15px !important;
  font-weight: 600;
  margin: 0;
}

/* Add new address card */


/* Payment profile cards — superseded by gv-pp-* block below */

/* Modals */
.modal-dialog .modal-header {
  border-radius: 0 !important;
  padding: 14px 20px !important;
  font-size: 15px !important;
}
.modal-dialog .modal-content {
  border-radius: 16px !important;
  overflow: hidden;
  border: none;
  box-shadow: 0 20px 60px rgba(0,0,0,.14);
}
.modal-dialog .modal-body {
  padding: 24px !important;
}
.modal-dialog .modal-footer {
  padding: 12px 20px !important;
  border-top: 1px solid #f0f0f0;
}
.modal-dialog .modal-footer .btn {
  border-radius: 30px !important;
  font-size: 14px !important;
  padding: 8px 22px !important;
}

/* shared modal typography */


/* shared modal form fields */


/* close × link */
.modal-body > .d-flex > a[data-bs-dismiss="modal"] {
  color: #bbb;
  font-size: 16px;
  line-height: 1;
  text-decoration: none;
  flex-shrink: 0;
  margin-top: 2px;
}
.modal-body > .d-flex > a[data-bs-dismiss="modal"]:hover {
  color: #c0392b;
}

/* ── Reviews ── */


/* "Source: Manufacturer" label */


/* Product description body text */


/* ── Responsive tables inside raw product description HTML ── */
/* The description comes from the DB as raw HTML and may contain
   tables with fixed widths or wide content. Wrap them in a
   scrollable block so they never break outside their column.  */


/* First column (label) — keep narrow */


/* Tags & category chips */
.tags .btn-outline-pry {
  border-radius: 20px !important;
  font-size: 13px !important;
  padding: 5px 16px !important;
  border-color: #ddd !important;
  color: #555 !important;
}
.tags .btn-outline-pry:hover {
  background: var(--pry-color) !important;
  border-color: var(--pry-color) !important;
  color: #fff !important;
}

/* Mobile: stack gallery vertically */
@media (max-width: 991px) {


  .thumbnails .additional {
    flex-direction: row;
    flex-wrap: wrap;
  }

}

/* ── Product page: mobile overflow guard ── */
@media (max-width: 767px) {
  /* Prevent any child from punching outside the viewport */
  .tab-content,
  .product-description,
  .gv-pd-body {
    overflow-x: hidden;
    max-width: 100%;
  }

  /* Nav-pills tabs — shrink h4 to fit side-by-side */
  #pills .nav-link h4 {
    font-size: 15px;
    margin: 0;
  }
  #pills.nav-pills {
    gap: 16px;
  }

  /* Description text — comfortable mobile reading */


  /* Specs table: let it scroll, don't clip it */


}

/* ── List view ── */


.gv-list-wishlist.active { color: var(--pry-color) !important; }

.gv-list-actions .btn-pry {
  font-size: 13px !important;
  padding: 8px 16px !important;
}


/* ── Mobile filter bar & bottom-sheet ── */
.gv-filter-bar {
  z-index: 50;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
}
.gv-filter-btn {
  display: flex;
  align-items: center;
  gap: 4px;
  background: none;
  border: none;
  padding: 13px 16px;
  font-size: 15px;
  font-weight: 600;
  color: #222;
  cursor: pointer;
  letter-spacing: .01em;
}
.gv-filter-btn:focus { outline: none; }
.gv-filter-chevron {
  font-size: 12px;
  color: #888;
  transition: transform .25s;
}
.gv-filter-sheet.show ~ * .gv-filter-chevron,
body.gv-filter-open .gv-filter-chevron {
  transform: rotate(180deg);
}

/* overlay */
.gv-filter-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.gv-filter-overlay.show { display: block; }

/* bottom sheet */
.gv-filter-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 120;
  background: #fff;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -4px 24px rgba(0,0,0,.14);
  transform: translateY(100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  max-height: 88vh;
  display: flex;
  flex-direction: column;
}
.gv-filter-sheet.show {
  transform: translateY(0);
}

/* drag handle */
.gv-filter-sheet-handle {
  padding: 12px 0 4px;
  text-align: center;
  cursor: pointer;
  flex-shrink: 0;
}
.gv-handle-bar {
  display: inline-block;
  width: 40px;
  height: 4px;
  background: #ddd;
  border-radius: 4px;
}

/* sheet header */
.gv-filter-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 20px 14px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}
.gv-filter-sheet-title {
  font-size: 16px;
  font-weight: 700;
  color: #111;
}
.gv-filter-close {
  background: #f4f4f4;
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #555;
  cursor: pointer;
  flex-shrink: 0;
}
.gv-filter-close:focus { outline: none; }

/* scrollable body */
.gv-filter-sheet-body {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 16px 20px 32px;
  flex: 1 1 auto;
}

/* prevent body scroll while sheet is open */
body.gv-filter-open { overflow: hidden; }

/* ── Payment profile ── */


/* saved cards list */


/* brand icon box */


/* card info */


/* expiry */


/* remove button */


/* empty state */


/* add new card section */
.gv-pp-add .accordion {
  border: 1.5px solid #ebebeb !important;
  border-radius: 14px !important;
  overflow: hidden;
  box-shadow: none !important;
}
.gv-pp-add .accordion-item {
  border: none !important;
  border-top: 1px solid #f0f0f0 !important;
}
.gv-pp-add .accordion-item:first-child {
  border-top: none !important;
}
.gv-pp-add .accordion-button {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #111 !important;
  padding: 14px 18px !important;
  background: #fff !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.gv-pp-add .accordion-button:not(.collapsed) {
  background: #fafafa !important;
}
.gv-pp-add .accordion-body {
  padding: 16px 18px 20px !important;
  border-top: 1px solid #f0f0f0;
  background: #fff;
}
.gv-pp-add .form-control {
  border-radius: 10px !important;
  font-size: 14px !important;
  border-color: #e8e8e8 !important;
  /* padding: 10px 14px !important;
  background: #fafafa !important; */
  color: #111 !important;
}
.gv-pp-add .form-control:focus {
  background: #fff !important;
  border-color: var(--pry-color) !important;
  box-shadow: 0 0 0 3px rgba(var(--pry-color-rgb),.1) !important;
}
.gv-pp-add .btn-primary {
  background: var(--pry-color) !important;
  border-color: var(--pry-color) !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 22px !important;
  transition: opacity .15s !important;
}
.gv-pp-add .btn-primary:hover {
  opacity: .88 !important;
}

/* override old generic payment profile rules */
#paymentProfileComponent label.d-block { display: none !important; }


/* ── Shipping address cards ── */


/* card */


/* top row: icon + name + badge */


/* badges */


/* body */


/* actions */


/* ============================================================
   Global Alert Redesign
   Overrides Bootstrap defaults site-wide with a clean,
   icon-accented, pill-free style.
   ============================================================ */

/* ── Base reset ── */
.alert {
  border: none;
  border-radius: 10px;
  padding: 13px 16px 13px 48px;
  font-size: 14px;
  line-height: 1.5;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

/* Left icon via ::before */
.alert::before {
  font-family: "Font Awesome 6 Pro", "Font Awesome 5 Pro", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
  font-weight: 900;
  font-size: 15px;
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
}

/* ── Success ── */
.alert-success {
  background-color: #edf7f2;
  color: #1a6644;
}
.alert-success::before {
  content: "\f058"; /* fa-check-circle */
  color: #28a264;
}

/* ── Danger / Error ── */
.alert-danger {
  background-color: #fdf0ee;
  color: #8b2211;
}
.alert-danger::before {
  content: "\f06a"; /* fa-exclamation-circle */
  color: #d63b1f;
}

/* ── Warning ── */


/* ── Info ── */


/* ── Dismiss button ── */
.alert .btn-close,
.alert .close {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .45;
  font-size: 12px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  line-height: 1;
  color: inherit;
}
.alert .btn-close:hover,
.alert .close:hover {
  opacity: .85;
}

/* Legacy <a> dismiss links (fa-times icon) */
.alert a[data-bs-dismiss="alert"] {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  opacity: .4;
  color: inherit !important;
  text-decoration: none;
  font-size: 13px;
}
.alert a[data-bs-dismiss="alert"]:hover { opacity: .9; }
.alert a[data-bs-dismiss="alert"] i { color: inherit !important; }

/* ── Page-notification bar (rounded-0 full-width banners) ── */
.alert.rounded-0 {
  border-radius: 0 !important;
  padding: 10px 20px 10px 48px;
}

/* ── Compact inline alerts (p-1, p-2 helpers) ── */
.alert.p-1,
.alert.p-2 {
  padding: 10px 16px 10px 44px !important;
}

/* ── Remove old Bootstrap coloured borders that sometimes bleed through ── */
.alert.border,
.alert.border-success,
.alert.border-danger {
  border: none !important;
}




/* Hide browser default clear button */


/* ── Clear button (×) inside field ── */


/* ── Close button (top-right) ── */


/* ── Results body (scrollable) ── */


/* ── Loading ── */


/* ── Result label ── */


/* ── Product grid ── */


/* ── Product card ── */


/* ── View all ── */


/* ── Empty state ── */


/* ── Idle state ── */


/* ── Mobile padding ── */


/* ════════════════════════════════════════════════════════
   Promo / Gift-card code — cart summary
   ════════════════════════════════════════════════════════ */


/* Success strip */


/* Toggle button */


/* Collapse form */


/* Apply button */


/* Add more items link */


/* ════════════════════════════════════════════════════════
   Category landing page — hero + attribute cards
   ════════════════════════════════════════════════════════ */

/* ── Hero banner ── */


.gv-cat-hero .container { position: relative; z-index: 1; }

/* Breadcrumb inside hero */


/* Title */


/* Description (may contain HTML from editor) */


/* CTA button */


/* ── Section headers ── */


/* ── Attribute cards ── */


/* Hover overlay */


/* Card text */


/* ── Responsive ── */


/* ════════════════════════════════════════════════════════
   Attribute listing page (single category drill-down)
   ════════════════════════════════════════════════════════ */

/* Description truncation inside hero */
/* .gv-cat-hero-desc.ellipsis-container {
  max-height: 80px;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 50%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 50%, transparent 100%);
  transition: max-height 0.4s ease;
}
.gv-cat-hero-desc.ellipsis-container.view {
  max-height: 600px;
  -webkit-mask-image: none;
  mask-image: none;
} */

/* Show-more / show-less toggle button */


/* Desktop filter sidebar */


/* Prevent product grid from overflowing its flex lane */


/* ════════════════════════════════════════════════════════
   Product detail accordion — single product page
   ════════════════════════════════════════════════════════ */


/* Trigger button */


/* Chevron */


/* Body */


/* Sizes table */


/* ============================================================
   GV – Seal Certifications  (.gv-cert-*)
   ============================================================ */

/* Breadcrumb */


/* Hero card */


/* Badge */


/* Info */


/* Products section header */


/* Product card */


/* Product image area */


/* Product body */


/* ── Responsive ── */


/* ============================================================
   GV – Pagination  (.gv-pg-*)
   ============================================================ */


/* ── Desktop list ── */


/* Base link — aggressively reset any Bootstrap bleed */


/* Hover — inactive pages only */


/* Active page */
.gv-pg-item.active .gv-pg-link {
  color: #111 !important;
  font-weight: 600;
  cursor: default;
  position: relative;
  background: transparent !important;
}
.gv-pg-item.active .gv-pg-link::after {
  content: '';
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 2px;
  border-radius: 2px;
  background: #111 !important;
}

/* Disabled arrows */
.gv-pg-item.disabled .gv-pg-link,
.gv-pg-link.disabled {
  color: #d1d5db !important;
  background: transparent !important;
  cursor: default;
  pointer-events: none;
}

/* Arrows (chevrons) */


/* Dots separator */


/* ── Mobile compact version ── */


@media (max-width: 639px) {
     /* hide full list on mobile */
    /* show compact version     */
}

/* ── Job listing list ── */
.gv-job-grid {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gv-job-card {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 20px 22px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid #eee;
  text-decoration: none;
  color: inherit;
  transition: border-color .2s, box-shadow .2s, transform .15s;
}
.gv-job-card:hover {
  border-color: #d4d4d4;
  box-shadow: 0 4px 18px rgba(0,0,0,.07);
  transform: translateX(3px);
  color: inherit;
}
.gv-job-card-body {
  flex: 1;
  min-width: 0;
}
.gv-job-title {
  font-family: 'SofiaMedium';
  font-size: 16px;
  color: #111;
  line-height: 1.35;
  margin-bottom: 8px;
}
.gv-job-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 59px;
  font-size: 13px;
  background: #fff;
  font-weight: bold;
  color: #555;
  border: 1px solid #eee;
  white-space: nowrap;
}
.gv-job-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #444;
  font-size: 13px;
  line-height: 1.55;
  margin-top: 10px;
}
.gv-job-desc p { margin: 0; }
.gv-job-cta {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  font-family: 'SofiaMedium';
  font-size: 13px;
  color: #aaa;
  flex-shrink: 0;
  transition: color .2s, gap .2s;
}
.gv-job-card:hover .gv-job-cta {
  color: #111;
  gap: 10px;
}
.gv-apply-card {
  border-radius: 16px;
  border: 1px solid #eee;
  padding: 24px;
  background: #fff;
  box-shadow:0 4px 20px rgba(0,0,0,0.08)
}

/* ── Custom file upload zone ── */
.gv-upload-zone {
  border: 2px dashed #ddd;
  border-radius: 14px;
  padding: 28px 20px;
  text-align: center;
  cursor: pointer;
  background: #fafafa;
  transition: border-color .2s, background .2s;
  user-select: none;
}
.gv-upload-zone:hover {
  border-color: var(--pry-color);
  background: rgba(var(--pry-color-rgb), .04);
}
.gv-upload-zone.drag-over {
  border-color: var(--pry-color);
  background: rgba(var(--pry-color-rgb), .06);
  transform: scale(1.01);
}
.gv-upload-zone.has-file {
  border-color: var(--green-color);
  border-style: solid;
  background: rgba(0, 167, 110, .05);
}
.gv-upload-zone .upload-icon {
  font-size: 28px;
  margin-bottom: 10px;
  display: block;
  color: #ccc;
  transition: color .2s;
}
.gv-upload-zone:hover .upload-icon,
.gv-upload-zone.drag-over .upload-icon { color: var(--pry-color); }
.gv-upload-zone.has-file .upload-icon { color: var(--green-color); }

/* ═══════════════════════════════════════════════════════════
   APPLICANT — APPLICATIONS LIST CARDS
═══════════════════════════════════════════════════════════ */
.gv-app-grid { display:flex; flex-direction:column; gap:10px; }
.gv-app-card {
  display:flex; align-items:center; gap:20px;
  padding:20px 22px; border-radius:14px;
  background:#fff; border:1px solid #eee;
  text-decoration:none; color:inherit;
  transition:border-color .2s, box-shadow .2s, transform .15s;
}
.gv-app-card:hover {
  border-color:#d0d0d0;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
  transform:translateX(3px);
  color:inherit; text-decoration:none;
}
.gv-app-card-body { flex:1; min-width:0; }
.gv-app-title {
  font-family:'SofiaMedium'; font-size:16px; color:#111;
  margin-bottom:8px; line-height:1.3;
}
.gv-app-meta { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-bottom:6px; }
.gv-app-chip {
  display:inline-flex; align-items:center; gap:5px;
  font-size:12px; color:#666; background:#f5f5f5; border:1px solid #eee;
  border-radius:59px; padding:3px 10px; white-space:nowrap;
}
.gv-app-status {
  display:inline-flex; align-items:center; gap:5px;
  font-size:12px; font-family:'SofiaMedium';
  border-radius:59px; padding:4px 12px; white-space:nowrap;
}
.gv-app-status.draft   { background:#fff8e5; color:#b27800; border:1px solid #ffd97a; }
.gv-app-status.submitted { background:#e8f3ff; color:#0055bb; border:1px solid #b3d4ff; }
.gv-app-status.shortlisted { background:#e5fff5; color:#007a52; border:1px solid #9aefd3; }
.gv-app-status.accepted { background:#eafff2; color:#006b3c; border:1px solid #8febb7; }
.gv-app-status.rejected { background:#fff1ef; color:#b00; border:1px solid #ffc4bd; }
.gv-app-status.default  { background:#f5f5f5; color:#666; border:1px solid #e0e0e0; }
.gv-app-date { font-size:12px; color:#aaa; margin-top:4px; }
.gv-app-cta {
  display:flex; align-items:center; gap:6px;
  font-family:'SofiaMedium'; font-size:13px; color:#aaa;
  flex-shrink:0; transition:color .2s, gap .2s;
}
.gv-app-card:hover .gv-app-cta { color:#111; gap:10px; }

/* ═══════════════════════════════════════════════════════════
   APPLICANT — STEP SIDEBAR NAV
═══════════════════════════════════════════════════════════ */
.gv-step-nav { display:flex; flex-direction:column; gap:2px; }
.gv-step-nav a {
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:10px;
  font-size:13.5px; color:#555; text-decoration:none;
  transition:background .15s, color .15s; line-height:1.2;
}
.gv-step-nav a:hover { background:#f5f5f5; color:#111; text-decoration:none; }
.gv-step-nav a.active { background:var(--pry-color); color:#fff; }
.gv-step-nav a.active:hover { background:var(--pry-color); color:#fff; }
.gv-step-nav .step-icon {
  width:20px; height:20px; border-radius:50%;
  display:grid; place-items:center; flex-shrink:0;
  font-size:10px; border:1.5px solid #ccc; color:#ccc;
  transition:background .15s, border-color .15s, color .15s;
}
.gv-step-nav a.done  .step-icon { background:#22b573; border-color:#22b573; color:#fff; }
.gv-step-nav a.active .step-icon { background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.5); color:#fff; }
.gv-step-nav .step-divider { height:1px; background:#f0f0f0; margin:6px 2px; }

/* ═══════════════════════════════════════════════════════════
   APPLICANT — CV & COVER LETTER UPLOAD CARDS
═══════════════════════════════════════════════════════════ */
.gv-doc-card {
  border:1.5px dashed #d8d8d8; border-radius:16px;
  padding:28px 24px; background:#fafafa;
  transition:border-color .2s, background .2s; height:100%;
}
.gv-doc-card.has-card {
  background:#dbefff;
  border-color:#000;
}
.gv-doc-card:hover { border-color:var(--pry-color); background:#f5fbff; }
.gv-doc-icon {
  width:48px; height:48px; border-radius:12px;
  background:#e4f1ff; color:var(--pry-color);
  display:grid; place-items:center; font-size:20px; margin-bottom:14px;
}
.gv-doc-card.has-card .gv-doc-icon {
  background: #afdafa
}
.gv-doc-card-title { font-family:'SofiaMedium'; font-size:16px; color:#111; margin-bottom:4px; }
.gv-doc-card-hint { font-size:13px; color:#999; margin-bottom:16px; line-height:1.5; }
.gv-doc-file-row {
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:10px;
  background:#fff; border:1px solid #e8e8e8; margin-top:12px;
}
.gv-doc-file-ic {
  width:34px; height:34px; border-radius:8px;
  background:var(--pry-color); color:#fff;
  display:grid; place-items:center; font-size:13px; flex-shrink:0;
}
.gv-doc-file-name {
  font-size:13px; color:#333; flex:1; min-width:0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.gv-doc-file-del {
  background:none; border:none; color:#ccc; font-size:16px;
  cursor:pointer; transition:color .15s; flex-shrink:0; padding:0;
}
.gv-doc-file-del:hover { color:#d00; }

/* ═══════════════════════════════════════════════════════════
   APPLICANT — MESSAGES INBOX (list page) — SPECTACULAR
═══════════════════════════════════════════════════════════ */
.gv-inbox-shell {
  display:flex; border-radius:20px; overflow:hidden;
  border:1px solid #eee; background:#fff;
  min-height:calc(100vh - 160px);
  box-shadow:0 4px 40px rgba(0,0,0,.05);
}
.gv-inbox-panel {
  width:340px; flex-shrink:0;
  border-right:1px solid #f0f0f0;
  display:flex; flex-direction:column;
}
.gv-inbox-panel-head {
  padding:22px 20px 16px;
  border-bottom:1px solid #f0f0f0;
}
.gv-inbox-panel-title {
  font-family:'SofiaMedium'; font-size:20px;
  color:#111; letter-spacing:-.5px; margin:0 0 2px;
}
.gv-inbox-panel-sub { font-size:12px; color:#bbb; }
.gv-inbox-search-wrap { padding:10px 14px; border-bottom:1px solid #f5f5f5; }
.gv-inbox-search-box {
  display:flex; align-items:center; gap:8px;
  background:#f5f6f8; border-radius:10px; padding:8px 12px;
  border:1.5px solid transparent;
  transition:border-color .15s, background .15s;
}
.gv-inbox-search-box:focus-within { border-color:rgba(9,65,92,.2); background:#fff; }
.gv-inbox-search-box i { color:#ccc; font-size:12px; }
.gv-inbox-search-box input {
  border:none; background:transparent; font-size:13px;
  color:#333; flex:1; outline:none;
}
.gv-inbox-list { flex:1; overflow-y:auto; }
.gv-inbox-row {
  display:flex; align-items:center; gap:12px;
  padding:13px 16px; cursor:pointer;
  border-left:3px solid transparent;
  border-bottom:1px solid #fafafa;
  transition:background .15s, border-color .15s;
  text-decoration:none; color:inherit;
}
.gv-inbox-row:hover { background:#f8f9fb; color:inherit; text-decoration:none; }
.gv-inbox-row.active { background:#eef5ff; border-left-color:var(--pry-color); }
.gv-inbox-row.unread .gv-inbox-row-title { font-family:'SofiaMedium'; color:#111; }
.gv-inbox-row.unread .gv-inbox-row-preview { color:#555; }
.gv-inbox-ava {
  width:44px; height:44px; border-radius:12px;
  background:linear-gradient(135deg, var(--pry-color) 0%, #287ea7 100%);
  color:#fff; display:grid; place-items:center;
  font-family:'SofiaMedium'; font-size:15px; flex-shrink:0;
}
.gv-inbox-info { flex:1; min-width:0; }
.gv-inbox-row-top {
  display:flex; align-items:baseline;
  justify-content:space-between; gap:8px; margin-bottom:3px;
}
.gv-inbox-row-bottom {
  display:flex; align-items:center;
  justify-content:space-between; gap:6px;
}
.gv-inbox-row-title {
  font-size:13.5px; color:#333;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  flex:1; min-width:0;
}
.gv-inbox-row-preview {
  font-size:12.5px; color:#aaa;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  flex:1; min-width:0;
}
.gv-inbox-row-preview.deleted { color:#e06060; font-style:italic; }
.gv-inbox-row-preview .no-messages { color:#ddd; font-style:italic; }
.gv-inbox-row-time { font-size:11px; color:#ccc; flex-shrink:0; white-space:nowrap; }
.gv-inbox-unread-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--pry-color); flex-shrink:0;
}
.gv-inbox-empty-state {
  flex:1; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:50px 24px; text-align:center;
}
.gv-inbox-empty-state .ei { font-size:48px; margin-bottom:16px; opacity:.15; color:#09415c; }
.gv-inbox-empty-state p { font-size:13px; color:#bbb; line-height:1.7; }
.gv-inbox-right-pane {
  flex:1; background:linear-gradient(160deg,#f9fbfe 0%,#f3f8ff 100%);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.gv-inbox-right-pane::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle at 65% 35%, rgba(175,218,250,.3) 0%, transparent 55%),
             radial-gradient(circle at 25% 75%, rgba(219,239,255,.35) 0%, transparent 50%);
}
.gv-inbox-right-pane .rp-inner {
  position:relative; z-index:1; text-align:center; padding:40px;
}
.gv-inbox-right-pane .rp-icon {
  width:72px; height:72px; border-radius:20px;
  background:rgba(9,65,92,.07); color:var(--pry-color);
  display:grid; place-items:center; font-size:30px;
  margin:0 auto 18px;
}
.gv-inbox-right-pane .rp-title {
  font-family:'SofiaMedium'; font-size:18px; color:#111;
  letter-spacing:-.4px; margin-bottom:8px;
}
.gv-inbox-right-pane .rp-sub { font-size:13px; color:#bbb; line-height:1.7; }
@media (max-width:767px) {
  .gv-inbox-shell { min-height:auto; border-radius:12px; border-left:none; border-right:none; }
  .gv-inbox-panel { width:100%; border-right:none; }
  .gv-inbox-right-pane { display:none !important; }
}

/* ═══════════════════════════════════════════════════════════
   APPLICANT — CHAT THREAD (CSS overrides on im-* classes)
   Scoped under .gv-chat-outer so admin is unaffected.
═══════════════════════════════════════════════════════════ */
.gv-chat-wrap-border {
  border:1px solid #eee; border-radius:16px; overflow:hidden;
  box-shadow:0 2px 20px rgba(0,0,0,.06);
}
.gv-chat-header-bar {
  padding:16px 20px; border-bottom:1px solid #f0f0f0;
  background:#fff; display:flex; align-items:center; gap:12px;
}
.gv-chat-header-ava {
  width:38px; height:38px; border-radius:10px;
  background:linear-gradient(135deg,var(--pry-color),#287ea7);
  color:#fff; display:grid; place-items:center;
  font-family:'SofiaMedium'; font-size:15px; flex-shrink:0;
}
.gv-chat-header-info .chat-title { font-family:'SofiaMedium'; font-size:15px; color:#111; }
.gv-chat-header-info .chat-sub { font-size:12px; color:#aaa; }

.im-container {
  max-height:none !important; border:none !important;
  min-height:calc(100vh - 340px);
  display:flex; flex-direction:column;
}
.im-rhs {
  flex:1 !important; display:flex !important;
  flex-direction:column !important; background:#f7f8fa;
}
.im-rhs .im-messages {
  flex:1 !important; padding:0 !important; background:#f7f8fa;
}
#im-scroller {
  max-height:calc(100vh - 500px) !important;
  min-height:220px;
  padding:20px 20px 8px !important;
  overflow-y:auto !important;
}
.im-message { margin-bottom:2px; padding:0; }
.im-message-content {
  border-radius:18px !important;
  border-bottom-left-radius:5px !important;
  padding:9px 14px !important;
  font-size:14px !important; line-height:1.6 !important;
  min-width:60px; max-width:66%;
  display:inline-block !important;
}
.im-message.received .im-message-content {
  background:#fff !important; color:#1a1a1a !important;
  border:1px solid #ebebeb !important;
  border-bottom-left-radius:5px !important;
  /* box-shadow:0 1px 3px rgba(0,0,0,.05) !important; */
}
.im-message.sent .im-message-content {
  background:var(--pry-color) !important; color:#fff !important;
  border:none !important;
  border-bottom-left-radius:18px !important;
  border-bottom-right-radius:5px !important;
  /* box-shadow:0 2px 8px rgba(9,65,92,.18) !important; */
}
.circle-icon {
  width:32px !important; height:32px !important;
  border-radius:9px !important;
  background:linear-gradient(135deg,var(--pry-color),#287ea7) !important;
  color:#fff !important; font-size:12px !important;
}
.circle-icon.op { height:10px !important; opacity:0 !important; }
.im-input {
  background:#fff !important; border-top:1px solid #f0f0f0; padding:12px 16px 14px;
}
.msg-input {
  background:#f5f6f8 !important;
  border:1.5px solid transparent !important;
  border-radius:26px !important;
  padding:2px 4px 2px 16px !important;
  transition:border-color .2s, background .2s, box-shadow .2s !important;
}
.msg-input textarea {
  height:30px;
}
.msg-input:focus-within {
  border-color:var(--pry-color) !important;
  background:#fff !important;
  box-shadow:0 0 0 3px rgba(9,65,92,.06) !important;
}
.btn-input,
.btn-input:hover,
.btn-input:focus {
  background:var(--pry-color) !important;
  width:36px !important; height:36px !important;
  border-radius:50% !important; font-size:13px !important;
}
.btn-input:hover { background:#072e42 !important; transform:scale(1.06); }
.fabs .btn {
  background:#f0f2f5 !important; color:#777 !important;
  border:none !important;
  width:36px !important; height:36px !important; border-radius:9px !important;
}
.fabs .btn:hover { background:#e4e6eb !important; color:#333 !important; }
.im-message-sender small { font-size:11px !important; color:#c0c0c0 !important; }
/* date divider — messages.css now handles this, just ensure inline style is cleared */
.text-center span[style*="c2efff"] {
  background:#f0f2f5 !important;
  border:none !important; border-radius:20px !important;
  font-size:11px !important; color:#bbb !important;
  padding:4px 14px !important; font-style:normal !important;
}

/* ═══════════════════════════════════════════════════════════
   APPLICANT — ACCOUNT SETTINGS
═══════════════════════════════════════════════════════════ */
.gv-settings-layout { display:flex; gap:28px; align-items:flex-start; }
.gv-settings-aside {
  width:210px; flex-shrink:0;
  border:1px solid #eee; border-radius:14px;
  padding:8px; background:#fff; position:sticky; top:90px;
}
.gv-settings-aside-nav { display:flex; flex-direction:column; gap:2px; }
.gv-settings-aside-nav a {
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:10px;
  font-size:14px; color:#555; text-decoration:none;
  transition:background .15s, color .15s;
}
.gv-settings-aside-nav a:hover { background:#f5f5f5; color:#111; }
.gv-settings-aside-nav a.active { background:var(--pry-color); color:#fff; }
.gv-settings-main { flex:1; }
.gv-settings-card {
  background:#fff; border-radius:16px;
  border:1px solid #eee; padding:36px;
  max-width:520px;
}
.gv-settings-card-title {
  font-family:'SofiaMedium'; font-size:22px; color:#111;
  letter-spacing:-.5px; margin-bottom:4px;
}
.gv-settings-card-sub { font-size:14px; color:#999; margin-bottom:28px; line-height:1.5; }
.gv-group-field { margin-bottom:20px; }
.gv-group-field > label {
  font-size:13px; color:#444; font-family:'SofiaMedium';
  margin-bottom:6px; display:block;
}
.gv-group-field .gv-field {
  border:1.5px solid #e8e8e8; border-radius:12px; overflow:hidden;
  display:flex; align-items:center; background:#fff;
  transition:border-color .2s;
}
.gv-group-field .gv-field:focus-within { border-color:var(--pry-color); }
.gv-group-field .gv-ic {
  width:42px; display:grid; place-items:center;
  color:#ccc; font-size:15px; flex-shrink:0;
}
.gv-group-field .gv-field input {
  flex:1; border:none; padding:12px 8px 12px 0;
  font-size:15px; background:transparent; outline:none;
  color:#111; font-family:'SofiaRegular';
}
.gv-group-field .gv-eye {
  border:none; background:transparent; padding:0 12px;
  color:#bbb; cursor:pointer; font-size:14px; transition:color .15s;
}
.gv-group-field .gv-eye:hover { color:#555; }
@media (max-width:767px) {
  .gv-settings-layout { flex-direction:column; }
  .gv-settings-aside { width:100%; position:static; }
}

/* ═══════════════════════════════════════════════════════════
   APPLICANT NAV — pill active state
═══════════════════════════════════════════════════════════ */
.gv-applicant-nav-list .nav-link {
  font-size:14px !important;
  padding:7px 14px !important;
  color:#444 !important;
  transition:background .15s, color .15s;
  font-family:'SofiaRegular';
}
.gv-applicant-nav-list .nav-link:hover {
  color:var(--blue-color) !important;
}
.gv-applicant-nav-list .nav-link.active {
  color:var(--blue-color) !important;
  font-family:'SofiaMedium';
}
.gv-applicant-nav-list .nav-link.active::after { display:none !important; }
/* user dropdown pill */


/* ═══════════════════════════════════════════════════════════
   APPLICATION SINGLE — PROGRESS BAR IN HERO
═══════════════════════════════════════════════════════════ */
.gv-app-progress-bar-wrap { margin-top:20px; }
.gv-app-progress-label {
  font-size:12px; color:rgba(0,0,0,.45);
  margin-bottom:6px; display:flex; justify-content:space-between;
}
.gv-app-progress-track {
  height:4px; border-radius:4px; background:rgba(0,0,0,.1); overflow:hidden;
}
.gv-app-progress-fill {
  height:100%; border-radius:4px;
  background:var(--pry-color);
  transition:width .4s ease;
}

/* ═══════════════════════════════════════════════════════════
   APPLICATION SINGLE — STEP NAVIGATION SIDEBAR (right panel)
═══════════════════════════════════════════════════════════ */
.gv-app-nav-card {
  background:#fff; border:1px solid #eee; border-radius:16px; overflow:hidden;
  box-shadow:0 2px 16px rgba(0,0,0,.04);
}
.gv-app-nav-head {
  padding:16px 18px 14px; border-bottom:1px solid #f5f5f5;
}
.gv-app-nav-head-title {
  font-family:'SofiaMedium'; font-size:12px; text-transform:uppercase;
  letter-spacing:.08em; color:#aaa;
}
.gv-step-nav-v2 { padding:10px; display:flex; flex-direction:column; gap:2px; }
.gv-step-nav-v2 a {
  display:flex; align-items:center; gap:10px;
  padding:9px 12px; border-radius:10px;
  font-size:13px; color:#555; text-decoration:none;
  transition:background .15s, color .15s; line-height:1.25;
}
.gv-step-nav-v2 a:hover { background:#f5f5f5; color:#111; text-decoration:none; }
.gv-step-nav-v2 a.active { background:var(--pry-color); color:#fff; }
.gv-step-nav-v2 a.active:hover { background:var(--pry-color); color:#fff; }
.gv-step-nav-v2 .snv-icon {
  width:22px; height:22px; border-radius:50%; flex-shrink:0;
  display:grid; place-items:center; font-size:9px;
  border:1.5px solid #ddd; color:#ccc;
  transition:all .15s;
}
.gv-step-nav-v2 a.done  .snv-icon { background:#22b573; border-color:#22b573; color:#fff; }
.gv-step-nav-v2 a.active .snv-icon { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.55); color:#fff; }
.gv-step-nav-v2 .snv-divider { height:1px; background:#f5f5f5; margin:4px 2px; }

/* ═══════════════════════════════════════════════════════════
   APPLICATION — STEP FORM CARD
═══════════════════════════════════════════════════════════ */
.gv-apply-step-card {
  background:#fff; border-radius:16px;
  border:1px solid #f0f0f0;
  padding:32px;
  box-shadow:0 1px 12px rgba(0,0,0,.04);
}
/* de-emphasise the old subheader sizes inside step cards */
.gv-apply-step-card h5.subheader,
.gv-apply-step-card h5.text-pry {
  font-family:'SofiaMedium' !important;
  font-size:18px !important;
  line-height:1.3 !important;
  letter-spacing:-.3px !important;
  color:#111 !important;
  margin-bottom:20px !important;
}
/* Vue entry rows in education / employment / references */
.gv-apply-step-card .row.bg-light.border {
  background:#fafafa !important;
  border:1px solid #e8e8e8 !important;
  border-radius:12px !important;
  padding:20px !important;
  margin-left:0 !important; margin-right:0 !important;
  margin-bottom:16px !important;
}
/* Remove old m-0 on inner rows */
.gv-apply-step-card .row.m-0.bg-light.py-3.border,
.gv-apply-step-card .row.m-0.bg-light.border {
  background:#fafafa !important;
  border:1px solid #e8e8e8 !important;
  border-radius:12px !important;
  padding:20px !important;
  margin:0 0 16px !important;
}
/* Success alert in step forms */
.gv-apply-step-card .alert-success {
  border:none; border-radius:10px; border-left:4px solid #22b573;
  background:#f0fff8; color:#006b3c; font-size:14px;
}

/* Step form nav buttons */
.gv-step-btns {
  display:flex; align-items:center; justify-content:space-between;
  padding-block: 10px;
  gap:12px;
}
.gv-step-btn-back {
  display:inline-flex; align-items:center; gap:7px;
  font-size:14px; color:#666; text-decoration:none;
  padding:10px 18px; border-radius:59px;
  border:1.5px solid #e8e8e8; background:#fff;
  transition:border-color .15s, color .15s;
}
.gv-step-btn-back:hover { border-color:#aaa; color:#111; text-decoration:none; }
.gv-step-btn-next {
  display:inline-flex; align-items:center; gap:8px;
  font-family:'SofiaMedium'; font-size:14px;
  background:#000; color:#fff; border:none;
  border-radius:59px; padding:11px 26px;
  cursor:pointer; text-decoration:none;
  transition:transform .15s, background .15s;
}
.gv-step-btn-next:hover { background:#1a1a1a; transform:translateX(2px); color:#fff; text-decoration:none; }
.gv-step-btn-submit {
  background:var(--pry-color) !important;
}
.gv-step-btn-submit:hover { background:var(--pry-color) !important; opacity:.9; }

/* Review & Sign — modern agreement box */
.gv-review-agree-box {
  border:1.5px solid #e8e8e8; border-radius:14px;
  padding:24px; background:#fafafa; margin-bottom:24px;
}
.gv-review-agree-box label {
  display:flex; align-items:flex-start; gap:12px;
  font-size:14px; color:#444; line-height:1.6; cursor:pointer; margin:0;
}
.gv-review-agree-box input[type=checkbox] {
  accent-color:var(--pry-color); width:17px; height:17px; flex-shrink:0; margin-top:2px;
}
.gv-review-sig-row {
  display:flex; gap:16px; flex-wrap:wrap; margin-top:16px; padding-top:16px;
  border-top:1px solid #eee;
}
.gv-review-sig-item { flex:1; min-width:140px; }
.gv-review-sig-item .sig-label {
  font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:#bbb;
  margin-bottom:4px;
}
.gv-review-sig-item .sig-value {
  font-family:'SofiaMedium'; font-size:15px; color:#333;
}

/* ═══════════════════════════════════════════════════════════
   CHAT THREAD — layout helpers (scoped to .gv-chat-outer)
═══════════════════════════════════════════════════════════ */
.gv-chat-outer > .h-100 { display:flex; flex-direction:column; }
.gv-chat-outer .card-body { background:transparent !important; }
/* Empty state */
.gv-chat-outer .text-secondary.py-4 {
  color:#bbb !important;
  padding:40px 20px !important;
}
.gv-chat-outer .text-secondary.py-4 h3 {
  font-size:36px; opacity:.2; margin-bottom:8px !important; color:#09415c;
}

/* ═══════════════════════════════════════════════════════════
   MESSAGES THREADS PAGE — two-panel full-height layout
═══════════════════════════════════════════════════════════ */

/* Fixed height so flex children can fill 100% */
.gv-threads-shell {
  height: calc(100vh - 160px);
  min-height: 500px;
}

/* Right pane — chat thread column */
.gv-inbox-thread-pane {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f7f8fa;
  min-width: 0;
}

/* Ensure gv-chat-header-bar doesn't shrink */
.gv-inbox-thread-pane .gv-chat-header-bar {
  flex-shrink: 0;
}

/* Fix the flex chain so scroller fills available height */
.gv-threads-shell .gv-chat-outer {
  flex: 1;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
  min-height: 0;
}
.gv-threads-shell .gv-chat-outer .im-container {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.gv-threads-shell .gv-chat-outer .im-rhs {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.gv-threads-shell .gv-chat-outer .im-rhs .im-messages {
  flex: 1 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}
.gv-threads-shell .gv-chat-outer #im-scroller {
  flex: 1 !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 20px 24px 8px !important;
}
.im-container .im-message .delete,
.im-container .im-message .edit {
  position: absolute;
  right: -20px !important;
  top: 0;
  font-size: 14px;
}

/* Mobile conversations button */
.gv-mobile-conversations-btn {
  position: fixed;
  bottom: 20px;
  left: 20px;
  background: var(--pry-color);
  color: #fff;
  border: none;
  border-radius: 59px;
  padding: 10px 20px;
  font-family: 'SofiaMedium';
  font-size: 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  z-index: 100;
  box-shadow: 0 4px 20px rgba(9,65,92,.25);
  text-decoration: none;
  transition: background .15s, transform .1s;
}
.gv-mobile-conversations-btn:hover { color:#fff; text-decoration:none; background:#072e42; }

/* Popup overlay */
.popup-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 110;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.popup-overlay.show { display: block; }

/* Popup sidebar (bottom sheet) */
.popup-sidebar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 120;
  background: #fff;
  border-radius: 20px 20px 0 0;
  box-shadow: 0 -4px 24px rgba(0,0,0,.14);
  transform: translateY(100%);
  transition: transform .32s cubic-bezier(.4,0,.2,1);
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}
.popup-sidebar.show { transform: translateY(0); }
.popup-sidebar .gv-inbox-list {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto;
}
body.gv-popup-open { overflow: hidden; }

/* Popup sidebar head */
.popup-sidebar-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid #f0f0f0;
}
.gv-popup-close {
  color: #aaa;
  font-size: 18px;
  text-decoration: none;
  line-height: 1;
  flex-shrink: 0;
  transition: color .15s;
}
.gv-popup-close:hover { color: #111; }
.gv-popup-title {
  font-family: 'SofiaMedium';
  font-size: 16px;
  color: #111;
  letter-spacing: -.3px;
}

@media (max-width:767px) {
  .gv-apply-step-card { padding:20px 16px; box-shadow: none; border: none;}
  .gv-step-btns { flex-direction:column-reverse; }
  .gv-step-btn-next, .gv-step-btn-back { width:100%; justify-content:center; }
}
@property --angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.conic-blue {
  background: conic-gradient(
    from var(--angle),
    #dbefff,
    #dbffe2,
    #dbefff
  );
  /* animation: gradientMove 30s linear infinite; */
}
@keyframes gradientMove {
  to {
    --angle: 360deg;
  }
}
/* ── Admin utilities ────────────────────────────────────── */


.adm-nav-link.active { color: #09415C; background: rgba(9,65,92,0.07); font-family:'SofiaMedium'; }


.adm-user-btn {
  display:inline-flex; align-items:center; gap:7px; font-size:13px;
  color:#374151; padding:4px 10px 4px 4px; border-radius:20px;
  border:1px solid #e5e7eb; cursor:pointer; text-decoration:none;
  background:#fff; transition:border-color 0.15s;
}
.adm-user-btn:hover { border-color:#09415C; color:#09415C; }
.adm-user-initial {
  width:26px; height:26px; border-radius:50%; background:#09415C; color:#fff;
  display:grid; place-items:center; font-size:11px; font-family:'SofiaMedium'; flex-shrink:0;
}
.adm-dd-menu {
  border-radius:10px !important; border:1px solid #e5e7eb !important;
  box-shadow:0 4px 20px rgba(0,0,0,0.08) !important;
  padding:4px !important; min-width:190px;
}
.adm-dd-item {
  font-size:13px; color:#374151; padding:8px 12px; border-radius:6px;
  display:flex; align-items:center; gap:8px; transition:background 0.12s;
}
.adm-dd-item:hover { background:#f3f4f6 !important; color:#09415C !important; }
.adm-dd-item.danger { color:#dc2626 !important; }
.adm-dd-item.danger:hover { background:#fef2f2 !important; }
.adm-dd-sep { border:none; border-top:1px solid #f0f0f0; margin:3px 0; }
.adm-search-wrap .form-control {
  height:32px; font-size:13px; border-radius:6px 0 0 6px;
  border:1px solid #e5e7eb; background:#fff; width:200px;
}
.adm-search-wrap .form-control:focus { border-color:#09415C; box-shadow:none; }
.adm-search-wrap .input-group-text {
  height:32px; border-radius:0 6px 6px 0; border:1px solid #e5e7eb;
  border-left:0; background:#f9fafb; color:#6b7280; cursor:pointer; font-size:12px;
}

.adm-pg { background:#f4f8fc; min-height:calc(100vh - 56px); padding:0 0 48px; }


.adm-info-strip { background:#fff; border-bottom:1px solid #e5e7eb; padding:14px 0; }
.adm-sidebar-panel { background:#fff; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; }
.adm-content-panel { background:#fff; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; }
.popup-overlay { position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.4);z-index:900;display:none; }
.popup-overlay.show { display:block; }
.popup-sidebar { position:fixed;bottom:-100%;left:0;right:0;z-index:901;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 24px rgba(0,0,0,0.15);transition:bottom .25s ease;max-height:70vh;overflow-y:auto; }
.popup-sidebar.show { bottom:0; }
.floater { position:fixed;bottom:20px;right:20px;z-index:800; }
.adm-form-topbar { background:#09415C; padding:14px 0; }
.adm-form-topbar .back-link { color:rgba(255,255,255,0.7); font-size:13px; text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color .2s; }
.adm-form-topbar .back-link:hover { color:#fff; }
.adm-form-wrap { background:#f7f5f1; padding:28px 0 48px; }
.adm-form-card { background:#fff; border-radius:18px; box-shadow:0 2px 16px rgba(9,65,92,0.07); border:1px solid rgba(9,65,92,0.07); padding:28px 28px 24px; }
.adm-form-title { font-family:'SofiaMedium'; font-size:20px; color:#09415C; margin:0 0 20px; letter-spacing:-.3px; padding-bottom:14px; border-bottom:1px solid rgba(9,65,92,0.1); }
.adm-form-card label { font-size:12.5px; font-family:'SofiaMedium'; color:#09415C; text-transform:uppercase; letter-spacing:.05em; margin-bottom:5px; }
.adm-form-card .form-control { border-color:rgba(9,65,92,0.2); border-radius:8px; font-size:14px; }
.adm-form-card .form-control:focus { border-color:#4D88BA; box-shadow:0 0 0 2px rgba(77,136,186,0.15); }
.adm-form-topbar { background:#09415C; padding:14px 0; }
.adm-form-topbar .back-link { color:rgba(255,255,255,0.7); font-size:13px; text-decoration:none; display:inline-flex; align-items:center; gap:6px; transition:color .2s; }
.adm-form-topbar .back-link:hover { color:#fff; }
.adm-form-wrap { background:#f7f5f1; padding:28px 0 48px; }
.adm-form-card { background:#fff; border-radius:18px; box-shadow:0 2px 16px rgba(9,65,92,0.07); border:1px solid rgba(9,65,92,0.07); padding:28px 28px 24px; }
.adm-form-title { font-family:'SofiaMedium'; font-size:20px; color:#09415C; margin:0 0 20px; letter-spacing:-.3px; padding-bottom:14px; border-bottom:1px solid rgba(9,65,92,0.1); }
.adm-form-card label { font-size:12.5px; font-family:'SofiaMedium'; color:#09415C; text-transform:uppercase; letter-spacing:.05em; margin-bottom:5px; }
.adm-form-card .form-control { border-color:rgba(9,65,92,0.2); border-radius:8px; font-size:14px; }
.adm-form-card .form-control:focus { border-color:#4D88BA; box-shadow:0 0 0 2px rgba(77,136,186,0.15); }
.job-info { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.job-info-main .job-title { font-family:'SofiaMedium'; font-size:18px; color:#111827; margin:0 0 2px; }
.job-info-meta { font-size:12px; color:#9ca3af; }
.job-info-meta span + span::before { content:'·'; margin:0 5px; }
.job-info-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.adm-pg-title { font-family:'SofiaMedium'; font-size:18px; color:#111827; margin:0; }
.adm-card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; }
.adm-card-head {
  padding:12px 16px; border-bottom:1px solid #f3f4f6;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap;
}
.adm-panel { background:#fff; border:1px solid #e5e7eb; border-radius:8px; }
.adm-panel-head {
  padding:12px 16px; border-bottom:1px solid #f3f4f6;
  display:flex; align-items:center; justify-content:space-between;
}
.adm-panel-head-title { font-family:'SofiaMedium'; font-size:13px; color:#111827; }
.adm-panel-head a { font-size:12px; color:#09415C; text-decoration:none; }
.adm-panel-head a:hover { text-decoration:underline; }
.stat-row {
  display:flex; align-items:center; padding:10px 16px;
  border-bottom:1px solid #f3f4f6; gap:12px;
}
.stat-row:last-child { border-bottom:none; }
.stat-num { font-family:'SofiaMedium'; font-size:18px; color:#09415C; min-width:28px; text-align:right; flex-shrink:0; }
.stat-num.danger { color:#dc2626; }
.stat-lbl { font-size:13px; color:#374151; flex:1; }
.stat-link { font-size:12px; color:#9ca3af; text-decoration:none; flex-shrink:0; }
.stat-link:hover { color:#09415C; }

.adm-count { font-size:12px; color:#6b7280; }
.adm-count b { color:#374151; }
.ats-table { width:100%; border-collapse:collapse; }
.ats-table thead th {
  background:#f9fafb; padding:8px 12px; text-align:left;
  font-size:11px; font-family:'SofiaMedium'; color:#6b7280;
  text-transform:uppercase; letter-spacing:.05em; white-space:nowrap;
  border-bottom:1px solid #e5e7eb;
}
.ats-table tbody td {
  padding:9px 12px; font-size:13px; color:#374151;
  border-bottom:1px solid #f3f4f6; vertical-align:middle;
}
.ats-table tbody tr:last-child td { border-bottom:none; }
.ats-table tbody tr:hover td { background:#fafafa; }
.ats-table td a { color:#09415C; text-decoration:none; }
.ats-table td a:hover { text-decoration:underline; }
.ats-init {
  display:inline-flex; width:22px; height:22px; border-radius:50%;
  background:#e5e7eb; color:#374151; font-size:10px; font-family:'SofiaMedium';
  align-items:center; justify-content:center; flex-shrink:0; margin-right:6px;
}
.ats-status { font-size:12px; font-family:'SofiaMedium'; }
.ats-status.DRAFT      { color:#6b7280; }
.ats-status.SUBMITTED  { color:#09415C; }
.ats-status.SHORTLISTED{ color:#92400e; }
.ats-status.ACCEPTED   { color:#065f46; }
.ats-status.REJECTED   { color:#991b1b; }
.ats-status.ENTRY_ERROR{ color:#991b1b; }
.ats-action { color:#6b7280; font-size:13px; text-decoration:none; }
.ats-action:hover { color:#09415C; }
.mob-card {
  border-bottom:1px solid #f3f4f6; padding:12px 16px;
}
.mob-card:last-child { border-bottom:none; }
.user-info { display:flex; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.user-info-main { display:flex; align-items:flex-start; gap:12px; }
.user-init { width:36px; height:36px; border-radius:50%; background:#09415C; color:#fff; display:grid; place-items:center; font-size:14px; font-family:'SofiaMedium'; flex-shrink:0; }
.user-init.is-admin { background:#374151; }
.user-name { font-family:'SofiaMedium'; font-size:17px; color:#111827; margin:0 0 2px; }
.user-email { font-size:12px; color:#9ca3af; }
.user-role-tag { display:inline-flex; align-items:center; gap:3px; padding:2px 8px; border-radius:4px; font-size:11px; font-family:'SofiaMedium'; background:#f3f4f6; color:#6b7280; margin-top:3px; }
.user-info-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; flex-wrap:wrap; }


.adm-card { background:#fff; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; }
.adm-card-head { padding:12px 16px; border-bottom:1px solid #f3f4f6; display:flex; align-items:center; justify-content:space-between; background:#fafafa; }
.adm-count { font-size:12px; color:#6b7280; }
.adm-count b { color:#374151; }
.ats-table { width:100%; border-collapse:collapse; }
.ats-table thead th {
  background:#f9fafb; padding:8px 12px; text-align:left;
  font-size:11px; font-family:'SofiaMedium'; color:#6b7280;
  text-transform:uppercase; letter-spacing:.05em; white-space:nowrap;
  border-bottom:1px solid #e5e7eb;
}
.ats-table tbody td { padding:9px 12px; font-size:13px; color:#374151; border-bottom:1px solid #f3f4f6; vertical-align:middle; }
.ats-table tbody tr:last-child td { border-bottom:none; }
.ats-table tbody tr:hover td { background:#fafafa; }
.ats-table td a { color:#09415C; text-decoration:none; }
.ats-table td a:hover { text-decoration:underline; }
.user-init { display:inline-flex; width:24px; height:24px; border-radius:50%; background:#e5e7eb; color:#374151; font-size:10px; font-family:'SofiaMedium'; align-items:center; justify-content:center; margin-right:7px; flex-shrink:0; vertical-align:middle; }
.role-tag { font-size:11px; padding:1px 7px; border-radius:4px; font-family:'SofiaMedium'; background:#f3f4f6; color:#6b7280; }
.role-tag.admin { background:#eff6ff; color:#1d4ed8; }
.user-status { font-size:12px; color:#6b7280; }
.mob-card { border-bottom:1px solid #f3f4f6; padding:12px 16px; }
.mob-card:last-child { border-bottom:none; }

.sec-title { font-size:11px; font-family:'SofiaMedium'; color:#9ca3af; text-transform:uppercase; letter-spacing:.06em; margin:0 0 10px; padding-bottom:8px; border-bottom:1px solid #f3f4f6; }
.detail-row { display:flex; gap:10px; margin-bottom:8px; font-size:13px; }
.detail-label { color:#9ca3af; min-width:130px; font-size:12px; flex-shrink:0; }
.detail-val { color:#111827; }
.rich-content { font-size:13.5px; color:#374151; line-height:1.7; }

[wide] .form-control.form-control-sm {
    min-width: 480px;
}
[moe][center] [url]:not([show]) {
    position: fixed;
    top: 7%;
    max-height: 88%;
    overflow-y: auto;
    overflow-x: hidden;
    left: calc(50% - 250px);
    width: 500px;
}
[moe][center][wide] [url]:not([show]) {
    left: calc(50% - 400px);
    width: 800px;
}
[moe][center][full] [url]:not([show]) {
    top: 10px;
    left: auto;
    right: 10px;
    width: 50vw;
    min-height: 98vh;
}
[moe][center] [url]:not([show]) .form-control.form-control-sm {
    min-width: unset;
    max-width: 100%;
}
[moe][large] form {
    width: 400px;
}
[moe][bottom] form {
    bottom: 100%;
}


.select2-dropdown {
  z-index: 100000 !important;
}
.select2-container {
  display: block !important;
}
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border-color: #dee2e6 !important;
}
.select2-selection {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 38px !important;
}
.select2-selection.select2-selection--multiple {
  display: block !important;
}
.select2-search--inline {
  display: inline;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 38px !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
  background-color: #fff9ea !important;
  padding: 0px 5px !important;
  font-size: 13px;
}
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-search--inline .select2-search__field {
  font-size: 13px
}
.select2-container--default .select2-selection--single .select2-selection__clear {
  color: red;
  margin-left: 10px;
  font-size: 16px
}
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  padding-right: 5px;
  margin-right: 5px;
}
.select2-container--default .select2-search--inline .select2-search__field {
  font-size: 16px  !important
}
.select2-search__field {
  min-width: 200px !important;
}
.page-link {
  font-size: 13px !important;
}
.form-control, .select2-results__option {
  font-size: 14px;
}
.select2-results__option:hover {
  background-color: var(--pry-color);
  color: #fff;
  cursor: pointer;
}
