/* 
Theme Name:		 Hello Elementor Child
Theme URI:		 https://www.pixart.com.sg/
Description:	 Hello Elementor Child is a child theme of Hello Elementor, created by Pixart
Author:			   Pixart
Author URI:		 https://www.pixart.com.sg
Template:		   hello-elementor
Version:		   1.0.0
Text Domain:	 hello-elementor-child
*/
/*
    Add your custom styles here
*/
@font-face {
  font-family: 'AvenirLTStd-Book';
  src: url('assets/fonts/AvenirLTStd-Book.woff2') format('woff2'),
    url('assets/fonts/AvenirLTStd-Book.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'AvenirLTStd-Roman';
  src: url('assets/fonts/AvenirLTStd-Roman.woff2') format('woff2'),
    url('assets/fonts/AvenirLTStd-Roman.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-0 p:last-child {
  margin-bottom: 0 !important;
}
.btn-sort {
  text-align: center;
  width: 1216px;
  max-width: 100%;
  margin: 0 auto;
  padding: 18px 0;
  border-top: 1px solid rgba(112, 112, 112, 0.2);
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
.filter-group {
  padding: 15px 0 80px;
}
.filter-container {
  width: 1216px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0px 0;
}
.gown-list-container {
  width: 1231px;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 22.5px;
  padding-bottom: 160px;
}
.sort-button {
  background: none;
  border: none;
  font-size: 13px;
  line-height: 18px;
  cursor: pointer;
  font-family: 'AvenirLTStd-Roman', sans-serif;
  letter-spacing: 0.26px;
  color: #6B6B6B;
  text-transform: uppercase;
  padding: 0 0;
}
.sort-button:hover, .sort-button:active, .sort-button:focus {
  background: none;
  color: #6B6B6B;
  outline: none;
  box-shadow: none;
  border: none;
}
.filter-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}
.filter-row *, .filter-row ::after, .filter-row ::before {
  box-sizing: border-box;
}
.filter-col {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
.gown-options {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
  gap: 15px;
}
.gown-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px;
  border: 1px solid #E0E0E0;
  background: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  font-family: Arial, sans-serif;
}
.gown-card img {
  width: 35px;
  height: auto;
  max-height: 44px;
  margin-bottom: 8px;
  object-fit: contain;
}
label.filter-label {
  font-size: 14px;
  line-height: 18px;
  color: #070605;
  font-weight: 900;
  margin-bottom: 30px;
}
.gown-card span {
  font-family: 'AvenirLTStd-Roman';
  font-size: 12px;
  line-height: 12px;
  color: #070605;
  font-weight: 500;
  text-transform: lowercase;
}
.gown-card input[type="radio"] {
  display: none;
}
/* Highlight entire card */
.gown-card:has(input[type="radio"]:checked) {
  background: #EEEEEE;
  border: 1px solid #B1B1B1;
}
/* Add hover effect */
.gown-card:hover {
  border-color: #999;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
/* Style Section */
.gown-style label {
  display: block;
}
label.style-label span {
  font-family: 'AvenirLTStd-Roman';
  font-size: 14px;
  line-height: 16px;
  color: #070605;
  font-weight: 400;
}
.custom-control {
  position: relative;
  margin-bottom: 20px;
}
.custom-control-input {
  padding: 0;
  height: initial;
  width: initial;
  margin-bottom: 0;
  display: none;
  cursor: pointer;
}
.custom-control-label {
  position: relative;
  margin-bottom: 0;
  vertical-align: top;
  position: relative;
  display: block;
}
.custom-control-label::before {
  content: '';
  -webkit-appearance: none;
  background-color: transparent;
  border: 1px solid #000000;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), inset 0px -15px 10px -12px rgba(0, 0, 0, 0.05);
  padding: 8px;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
  margin-right: 10px;
  border-radius: 0px;
}
.custom-checkbox input:checked+label:before {
  background-color: #070605;
}
.custom-checkbox input:checked+label:after {
  content: '';
  display: block;
  position: absolute;
  top: 2px;
  left: 7px;
  width: 5px;
  height: 11px;
  border: solid #FFFCF7;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
/****** color field Design *****/
.gown-color {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 300px;
  margin-top: 10px;
}
.color-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  text-align: center;
  font-family: Arial, sans-serif;
}
.color-label input[type="radio"] {
  display: none;
}
/* Circle for color */
.color-circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-block;
  margin-bottom: 5px;
  border: 2px solid transparent;
  transition: all 0.3s ease;
  box-shadow: 0 0 0 1px #ddd;
}
/* Selected color circle */
.color-label input[type="radio"]:checked+.color-circle {
  border: 3px solid #000;
  /* Highlight selected */
  box-shadow: 0 0 0 2px #00000030;
  transform: scale(1.1);
}
/* Color name */
.color-name {
  font-size: 13px;
  color: #333;
  margin-top: 2px;
}
/* Hover effect */
.color-label:hover .color-circle {
  transform: scale(1.05);
  box-shadow: 0 0 0 2px #bbb;
}
.gown-list-container * {
  box-sizing: border-box;
}
.masonry-container {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(4, minmax(0px, 1fr));
}
.masonry-item {
  width: 100%;
  padding: 7.5px;
  grid-area: span 2 / span 2;
}
.single-gownbox {
  position: relative;
  display: block;
  /* margin-bottom: 15px; */
}
.single-gown-wrapper {
  position: relative;
}
a.gown-link {
  display: block;
  position: relative;
}
.gown-item_overlay {
  display: block;
  --bg-opacity: 1;
  background-color: rgba(245, 245, 245, var(--bg-opacity));
  padding-top: 150%;
}
.image-wrapper {
  position: absolute;
  transition-duration: 100ms;
  inset: 0px;
  cursor: pointer;
  opacity: 1;
  visibility: visible;
}
.image-wrapper img {
  width: 100%;
  max-width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  height: 100% !important;
}
.single-gownbox .gown-content {
  position: absolute;
  left: 0px;
  bottom: 0px;
  padding: 0 18px 17px;
  padding-top: 0px;
  z-index: 2;
}
.single-gownbox .gown-title {
  font-family: 'AvenirLTStd-Book';
  font-size: 14px;
  font-weight: 400;
  line-height: 17px;
  letter-spacing: 0px;
  color: #070605;
  margin: 0;
}
.big-item {
  width: 50%;
}
.small-item {
  height: auto;
}
.gown-pagination nav ul {
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  padding-top: 7.5rem;
  list-style: none;
}
.gown-pagination nav ul li {
  text-align: center;
  font-size: 0.875rem;
  letter-spacing: 0.015rem;
  line-height: 1;
  min-width: 2.875rem;
  padding-top: 0.625rem;
  white-space: nowrap;
  transition-property: all;
  transition-duration: 100ms;
  border-top: 1px solid rgba(7, 6, 5, 0.2);
  color: rgba(7, 6, 5, 0.2);
}
.gown-pagination nav ul li a {
  color: rgba(7, 6, 5, 0.2);
}
.gown-pagination nav ul li:hover, .gown-pagination nav ul li.current {
  border-top: 1px solid rgba(7, 6, 5, 1);
}
.gown-pagination nav ul li:hover a, .gown-pagination nav ul li.current {
  color: rgba(7, 6, 5, 1);
}
.gown-pagination nav ul li.prev-li, .gown-pagination nav ul li.next-li {
  border-top: 0;
}
.btn-sortby-wrap {
  position: relative;
}
.filter-group {
  display: none;
  position: absolute;
  top: 90%;
  left: 0;
  width: 100%;
  background: #fff;
  padding: 15px 0 80px;
  z-index: 1000;
}
/* Show filter when active */
.filter-group.active {
  display: block;
}
.gown-fullwidth.overlay-active, footer.overlay-active {
  position: relative;
}
.gown-fullwidth.overlay-active::before, footer.overlay-active::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65);
  z-index: 10;
  transition: all 0.3s ease;
}
.sort-button.opened i {
  rotate: 180deg;
}
/* HTML: <div class="loader"></div> */
.loader-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 250px;
  text-align: center;
  grid-area: span 4 / span 4;
}
.loader {
  width: 50px;
  aspect-ratio: 1;
  display: grid;
  border-radius: 50%;
  background:
    linear-gradient(0deg, rgb(0 0 0/50%) 30%, #0000 0 70%, rgb(0 0 0/100%) 0) 50%/8% 100%,
    linear-gradient(90deg, rgb(0 0 0/25%) 30%, #0000 0 70%, rgb(0 0 0/75%) 0) 50%/100% 8%;
  background-repeat: no-repeat;
  animation: l23 1s infinite steps(12);
}
.loader::before,
.loader::after {
  content: "";
  grid-area: 1/1;
  border-radius: 50%;
  background: inherit;
  opacity: 0.915;
  transform: rotate(30deg);
}
.loader::after {
  opacity: 0.83;
  transform: rotate(60deg);
}
@keyframes l23 {
  100% {
    transform: rotate(1turn)
  }
}
/*****loader end*****/
.gown_info .elementor-post-info .elementor-post-info__item .elementor-post-info__item-prefix {
  color: #070605;
  min-width: 72px;
  display: inline-block;
}
/* Position relative for gallery container */
.custom-gallery .elementor-gallery-item:first-child {
  position: relative;
}
/* Bullets container */
.custom-gallery .gallery-bullets {
  position: fixed;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 60;
}
/* Each bullet */
.custom-gallery .gallery-bullets .bullet {
  height: 2.3rem;
  width: 0.3rem;
  margin: 0.375rem 1rem;
  background: rgba(255, 255, 255, 0.39);
  cursor: pointer;
  transition: all 0.3s ease;
}
/* Active bullet */
.custom-gallery .gallery-bullets .bullet.active {
  background: rgba(255, 255, 255, 1);
}
a.gown-back-btn {
  background-color: #EEEEEE;
  color: #070605;
  font-family: "Avenir LT Std", Sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 14px;
  letter-spacing: 1.3px;
  border-radius: 0px 0px 0px 0px;
  padding: 12px 30px 12px 23px;
}
a.gown-back-btn img {
  margin-right: 5px;
}
.contact-form label {
  font-family: 'AvenirLTStd-Roman';
  font-size: 14px;
  line-height: 28px;
  color: #070605;
  font-weight: 500;
}
.submit-form-btn {
  font-family: 'AvenirLTStd-Roman';
  background-color: #EEEEEE;
  border-radius: 0;
  border: 0;
  color: #070605;
  width: 100%;
  font-size: 14px;
  font-weight: 400;
}
.contact-form input[type=text],
.contact-form input[type=email],
.contact-form input[type=tel],
.contact-form input[type=url],
.contact-form textarea {
  border: 1px solid #E8E8E8;
  font-family: 'AvenirLTStd-Roman';
  font-size: 14px;
  line-height: 28px;
  color: #070605;
  padding: .4rem 1rem;
}
.contact-form .submit-form-btn, .contact-form [type=submit] {
  background-color: #EEEEEE;
  border-radius: 0;
  border: 0;
  color: #070605;
  width: 100%;
  font-size: 14px;
  font-weight: 400;
}
.contact-form .submit-form-btn:hover {
  background-color: #E0E0E0;
  color: #070605;
}
.friend_tabs .e-n-tabs-heading {
  padding-left: 14px;
}
ol.cac-ol {
  padding-left: 18px;
}
ol.cac-ol li {
  margin-bottom: 18px;
}
.text-center {
  text-align: center;
}
.mt-16 {
  margin-top: 16px !important;
}
.sab-slot-unavailable {
    max-width: 800px;
    margin: 60px auto;
    padding: 40px 24px;
    text-align: center;
}

.sab-slot-unavailable p {
    font-size: 18px;
    line-height: 1.6;
    margin: 0 0 24px;
    color: #1c2b39;
}

.sab-slot-unavailable .back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    text-decoration: none;
}

.sab-slot-unavailable .back-link i {
    font-size: 0.85em;
}
/*****responsive*****/
@media (min-width: 992px) {
  .filter-neckline {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
    padding-left: 40px;
    padding-right: 40px;
  }
  .filter-silhouette {
    -ms-flex: 0 0 30%;
    flex: 0 0 30%;
    max-width: 30%;
  }
  .filter-color-style {
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}
@media (min-width: 1200px) {
  .filter-row {
    margin-right: -50px;
    margin-left: -50px;
  }
  .filter-neckline {
    padding-left: 50px;
    padding-right: 50px;
  }
  .filter-silhouette, .filter-color-style {
    padding-left: 50px;
    padding-right: 50px;
  }
}
@media (min-width: 1024px) {
  .masonry-item {
    grid-area: span 1 / span 1;
  }
  .masonry-item:nth-of-type(3) {
    grid-area: span 2 / span 2;
  }
}
@media (max-width: 767px) {
  #mobile_menu .elementor-nav-menu__container {
    padding: 20px 20px 40px 20px;
  }
  #mobile_menu .btn-menu-sm.menu-item {
    padding-top: 15px;
    margin-top: 10px;
    border-top: 1px solid rgba(112, 112, 112, 0.3);
    text-align: center;
  }
  #mobile_menu .btn-menu-sm a {
    background-color: #EEEEEE;
    font-family: "Avenir LT Std", Sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 10px;
    letter-spacing: 1px;
    fill: #070605;
    color: #070605;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
  .double-line-item {
    margin-top: 15px !important;
  }
  .double-line-item a.elementor-item {
    flex-wrap: wrap;
  }
  .double-line-item .elementor-item p {
    font-size: 7.4px;
    line-height: 7.4px;
    color: #6B6B6B;
    letter-spacing: 0.74px;
    margin-bottom: 0;
    width: 100%;
    display: block;
  }
  .inline-menu-text .elementor-item span {
    color: #6B6B6B;
  }
  .filter-col {
    margin-bottom: 30px;
  }
}