/**
 * Side menu / offcanvas — loaded after meanmenu.css so theme overrides always win.
 * (meanmenu.css defaults: navy #070337 block; these restore the original Yaazh's look)
 */
:root {
  --theme2: #f9f3f0;
  --border: #cccccc;
}

/* Offcanvas drawer */
.offcanvas__info {
  background: #004654;
  border-left: 2px solid #0dcaf0;
  position: fixed;
  right: 0;
  top: 0;
  width: 400px;
  height: 100%;
  transform: translateX(calc(100% + 80px));
  transition: transform 0.45s ease-in-out, opacity 0.45s ease-in-out;
  z-index: 99999;
  overflow-y: scroll;
  overscroll-behavior-y: contain;
  scrollbar-width: none;
}

.offcanvas__info::-webkit-scrollbar {
  display: none;
}

.offcanvas__info.info-open {
  opacity: 1;
  transform: translateX(0);
}

.offcanvas__logo a img {
  width: 150px;
}

.offcanvas__wrapper {
  position: relative;
  height: 100%;
  padding: 30px 30px;
  background-color: #004654;
}

.offcanvas__wrapper .offcanvas__content .text {
  color: var(--white);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__close {
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  border-radius: 50%;
  background-color: var(--theme);
  position: relative;
  z-index: 9;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__close button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  line-height: 1;
  cursor: pointer;
  color: var(--white);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__close i {
  color: var(--white);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact {
  margin-top: 20px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact h4 {
  color: var(--theme2);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul {
  margin-top: 20px;
  list-style: none;
  padding: 0;
  margin-left: 0;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li {
  font-size: 16px;
  font-weight: 600;
  text-transform: capitalize;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li a {
  color: var(--white);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li:not(:last-child) {
  margin-bottom: 15px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li .offcanvas__contact-icon {
  margin-right: 20px;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact ul li .offcanvas__contact-icon i {
  color: var(--theme2);
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .header-button .theme-btn {
  width: 100%;
  padding: 16px 40px;
  text-transform: capitalize !important;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon {
  margin-top: 30px;
  gap: 10px;
  display: flex;
  align-items: center;
}

.offcanvas__wrapper .offcanvas__content .offcanvas__contact .social-icon a {
  width: 45px;
  height: 45px;
  line-height: 45px;
  text-align: center;
  font-size: 16px;
  display: block;
  background: #004654;
  color: var(--white);
  border-radius: 50%;
}

.offcanvas__overlay {
  position: fixed;
  height: 100%;
  width: 100%;
  background: #000;
  z-index: 900;
  top: 0;
  opacity: 0;
  visibility: hidden;
  right: 0;
}

.offcanvas__overlay.overlay-open {
  opacity: 0.8;
  visibility: visible;
}

@media (max-width: 450px) {
  .offcanvas__info {
    width: 300px;
  }
}

@media (max-width: 575px) {
  .offcanvas__wrapper {
    padding: 20px;
  }
}

/* Meanmenu inside offcanvas — override plugin defaults */
.mean-container a.meanmenu-reveal {
  display: none !important;
}

/* Prevent duplicate menu if meanmenu inits twice */
.mobile-menu.mean-container > .mean-bar ~ .mean-bar {
  display: none !important;
}

.mobile-menu.mean-container .mean-nav ~ .mean-nav {
  display: none !important;
}

.mean-container .mean-nav {
  background: none !important;
  margin-top: 0 !important;
  float: none !important;
  width: 100% !important;
}

.mean-container .mean-bar {
  padding: 0 !important;
  min-height: auto !important;
  background: none !important;
  float: none !important;
  width: 100% !important;
}

.mean-container .mean-nav > ul {
  padding: 0;
  margin: 0;
  width: 100%;
  list-style-type: none;
  display: block !important;
}

.mean-container .mean-nav ul li {
  float: none !important;
  width: 100% !important;
}

.mean-container .mean-nav ul li a {
  width: 100% !important;
  padding: 10px 0 !important;
  color: var(--white) !important;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 600;
  text-transform: capitalize !important;
  border-bottom: 1px solid var(--border) !important;
  border-top: none !important;
  text-align: left !important;
  float: none !important;
  margin: 0 !important;
}

.mean-container .mean-nav ul li a:hover {
  color: var(--theme2) !important;
}

.mean-container .mean-nav ul li a:last-child {
  border-bottom: 0;
}

.mean-container .mean-nav ul li a.mean-expand {
  /* Match meanmenu.css positioning so + stays right-aligned */
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  z-index: 2 !important;
  margin-top: 1px !important;
  padding: 0 !important;
  width: 26px !important;
  height: 32px !important;
  line-height: 32px !important;
  text-align: center !important;
  border: none !important;
}

.mean-container .mean-nav ul li > a > i {
  display: none;
}

.mean-container .mean-nav ul li > a.mean-expand i {
  display: inline-block;
  font-size: 18px;
}

.mean-container .mean-nav > ul > li:first-child > a {
  border-top: 0;
}

.mean-container .mean-nav ul li a.mean-expand.mean-clicked i {
  transform: rotate(45deg);
  transition: all 0.4s ease-in-out;
}

.offcanvas__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
}

.d-flex {
  display: flex !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.align-items-center {
  align-items: center !important;
}

.mb-3 {
  margin-bottom: 1rem !important;
}

.mb-5 {
  margin-bottom: 3rem !important;
}

.mt-4 {
  margin-top: 1.5rem !important;
}

.mr-15 {
  margin-right: 15px !important;
}
