/* =========================================================
   MAXI INMOBILIARIA - CUSTOM CSS BASE PARA OS PROPERTY
   ========================================================= */

/* Colores base */
:root{
  --maxi-azul: #0d47a1;
  --maxi-azul-claro: #1976d2;
  --maxi-dorado: #c9a227;
  --maxi-blanco: #ffffff;
  --maxi-gris: #f5f7fa;
  --maxi-texto: #1f2937;
  --maxi-borde: #e5e7eb;
  --maxi-sombra: 0 8px 24px rgba(0,0,0,0.08);
  --maxi-radio: 14px;
}

/* Fondo general del componente */
.com_osproperty,
#osproperty-main,
.osproperty-container {
  color: var(--maxi-texto);
}

/* Tarjetas de propiedades */
.property-item,
.os-item,
div[id^="property"] .item,
.osproperty-item {
  background: #fff;
  border: 1px solid var(--maxi-borde);
  border-radius: var(--maxi-radio);
  box-shadow: var(--maxi-sombra);
  overflow: hidden;
  transition: all 0.25s ease;
}

.property-item:hover,
.os-item:hover,
.osproperty-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.12);
}

/* Imágenes */
.property-item img,
.os-item img,
.osproperty-item img {
  width: 100%;
  height: auto;
  display: block;
}

/* Títulos de propiedades */
.property-item h2,
.property-item h3,
.os-item h2,
.os-item h3,
.osproperty-item h2,
.osproperty-item h3,
.osproperty-item .property-title {
  color: var(--maxi-azul);
  font-weight: 700;
}

.property-item h2 a,
.property-item h3 a,
.os-item h2 a,
.os-item h3 a,
.osproperty-item h2 a,
.osproperty-item h3 a,
.osproperty-item .property-title a {
  color: var(--maxi-azul);
  text-decoration: none;
}

.property-item h2 a:hover,
.property-item h3 a:hover,
.osproperty-item .property-title a:hover {
  color: var(--maxi-dorado);
}

/* Precio */
.property-price,
.os_price,
.spanprice,
.price {
  color: var(--maxi-dorado);
  font-weight: 700;
  font-size: 1.2rem;
}

/* Botones generales */
.btn,
button,
input[type="submit"],
a.btn {
  border-radius: 10px !important;
  transition: all 0.25s ease;
}

/* Botón principal */
.btn-primary,
a.btn-primary,
button.btn-primary,
.readmore a,
.osproperty-button,
#request_more_details input[type="submit"] {
  background: var(--maxi-azul) !important;
  border-color: var(--maxi-azul) !important;
  color: #fff !important;
}

.btn-primary:hover,
a.btn-primary:hover,
button.btn-primary:hover,
.readmore a:hover,
.osproperty-button:hover,
#request_more_details input[type="submit"]:hover {
  background: var(--maxi-azul-claro) !important;
  border-color: var(--maxi-azul-claro) !important;
  color: #fff !important;
}

/* Botón secundario / destacado */
.btn-warning,
a.btn-warning {
  background: var(--maxi-dorado) !important;
  border-color: var(--maxi-dorado) !important;
  color: #fff !important;
}

.btn-warning:hover,
a.btn-warning:hover {
  opacity: 0.92;
  color: #fff !important;
}

/* Buscador */
.osproperty-search,
.adv_search_form,
#advanced-search,
.os_search_form {
  background: var(--maxi-gris);
  border: 1px solid var(--maxi-borde);
  border-radius: 16px;
  padding: 20px;
  box-shadow: var(--maxi-sombra);
}

/* Inputs */
.osproperty-search input,
.osproperty-search select,
.osproperty-search textarea,
.adv_search_form input,
.adv_search_form select,
.adv_search_form textarea,
#advanced-search input,
#advanced-search select,
#advanced-search textarea {
  border-radius: 10px !important;
  border: 1px solid #d1d5db !important;
  box-shadow: none !important;
}

/* Etiquetas destacadas */
.featured,
.label-featured,
.os-featured,
span.featured {
  background: var(--maxi-dorado) !important;
  color: #fff !important;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
}

/* Badges de tipo de operación */
.type,
.property-type,
.market-status {
  background: var(--maxi-azul) !important;
  color: #fff !important;
  padding: 6px 10px;
  border-radius: 8px;
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 600;
}

/* Bloque de detalles */
.property-details,
#property_details,
.osproperty-details {
  background: #fff;
  border: 1px solid var(--maxi-borde);
  border-radius: 16px;
  padding: 24px;
  box-shadow: var(--maxi-sombra);
}

/* Tabla o lista de amenidades */
.amenities,
.property-amenities,
.osamenities {
  background: #fff;
  border-radius: 16px;
}

.amenities li,
.property-amenities li,
.osamenities li {
  margin-bottom: 8px;
}

/* Formulario de contacto */
#request_more_details,
.osproperty-contact-form {
  background: #fff;
  border: 1px solid var(--maxi-borde);
  border-radius: 16px;
  padding: 20px;
  box-shadow: var(--maxi-sombra);
}

/* Agente */
.agent-info,
.osagent,
.property-agent-info {
  background: var(--maxi-gris);
  border: 1px solid var(--maxi-borde);
  border-radius: 16px;
  padding: 20px;
}

/* Paginación */
.pagination .page-link,
.pagination a,
.pagination span {
  border-radius: 10px !important;
}

/* Responsive */
@media (max-width: 768px) {
  .property-details,
  #property_details,
  .osproperty-details,
  .osproperty-search,
  .adv_search_form,
  #advanced-search,
  #request_more_details {
    padding: 15px;
  }
}