/********************************************************************************
 * Eclipse Tractus-X - Industry Core Hub Frontend
 *
 * Copyright (c) 2025 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Apache License, Version 2.0 which is available at
 * https://www.apache.org/licenses/LICENSE-2.0.
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the
 * License for the specific language govern in permissions and limitations
 * under the License.
 *
 * SPDX-License-Identifier: Apache-2.0
********************************************************************************/

@use 'variables' as *;

/****** General Styling ******/

// Mapa de márgenes individuales
$spacing: (
  1: 4px,
  2: 8px,
  3: 12px,
  4: 16px,
  5: 20px
) !default;

// Generador de clases de margen
@each $key, $value in $spacing {
  .mr-#{$key} { margin-right: $value; }
  .ml-#{$key} { margin-left: $value; }
  .mb-#{$key} { margin-bottom: $value; }
  .mt-#{$key} { margin-top: $value; }
  .my-#{$key} { margin-top: $value; margin-bottom: $value; }
  .mx-#{$key} { margin-left: $value; margin-right: $value; }
}

// Márgenes automáticos
.my-auto { margin-bottom: auto; margin-top: auto; }
.mx-auto { margin-left: auto; margin-right: auto; }

// Flex utilities
.flex { display: flex; }
.flex-content-center { justify-content: center; }

// Text utilities
.text-center { text-align: center; }

@mixin center-flex {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

@mixin space-title-h2-font {
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 10px;
}

@mixin space-shadow($color) {
    box-shadow: 0 0 12px $color;
}

@mixin dark-bg-white-text {
  background-color: $brand-dark!important;
  color: $brand-text!important;
}

@mixin rounded-bordered($radius: 8px, $shadow: 0 0 10px $brand-primary, $border: 2px solid $brand-border) {
  border-radius: $radius !important;
  box-shadow: $shadow;
  border: $border !important;
}