:where([class^="ri-"])::before { content: "\f3c2"; }
body {
  font-family: 'Barlow', sans-serif;
  color: #333;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Barlow', sans-serif;
}
.glass-title{
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.4);
}
.hero-section {
  background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05)), url('assets/img/fondo/n.webp');
  background-size: cover;
  background-position: center;
}
.service-card:hover .service-overlay {
  opacity: 1;
}
.gallery-item {
  transition: transform 0.3s ease;
}
.gallery-item:hover {
  transform: scale(1.02);
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.custom-checkbox {
  position: relative;
  cursor: pointer;
}
.custom-checkbox input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 20px;
  width: 20px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.custom-checkbox:hover input ~ .checkmark {
  background-color: #f9f9f9;
}
.custom-checkbox input:checked ~ .checkmark {
  background-color: #14424B;
  border-color: #14424B;
}
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
.custom-checkbox input:checked ~ .checkmark:after {
  display: block;
}
.custom-checkbox .checkmark:after {
  left: 7px;
  top: 3px;
  width: 6px;
  height: 12px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.custom-select {
  position: relative;
}
.custom-select select {
  display: none;
}
.select-selected {
  background-color: #fff;
}
.select-selected:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  border: 6px solid transparent;
  border-color: #333 transparent transparent transparent;
}
.select-items {
  position: absolute;
  background-color: #fff;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 99;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  border-radius: 8px;
  margin-top: 4px;
  display: none;
}
.select-items div {
  padding: 12px 16px;
  cursor: pointer;
}
.select-items div:hover {
  background-color: #f5f5f5;
}
.select-hide {
  display: none;
}
.select-items div:first-child {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.select-items div:last-child {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
