/* ===================================
    Crafto - Startup
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700;800;900&display=swap');
/* variable */
:root {     
    --base-color: #00ce9b;
    --alt-font: 'Manrope', sans-serif;
    --primary-font: 'Rubik', sans-serif;
    --dark-gray: #000000;
    --medium-gray: #868d98;
} 
/* reset */
body {
    font-size: 17px;
    line-height: 32px; 
}
a {
    color: #868d98;
} 
b, strong {
    font-weight: 600;
}
::-webkit-input-placeholder {
    color: #868d98 !important;
    text-overflow: ellipsis;
}
::-moz-placeholder {
    color: #868d98 !important;
    text-overflow: ellipsis;
    opacity:1;
}
:-ms-input-placeholder {
    color: #868d98 !important;
    text-overflow: ellipsis;
    opacity:1;
}
/* bg color */
.bg-gradient-emerald-blue-emerald-green {
    background-image:linear-gradient(50deg,#09afea 0,#19e089 100%);
}
.bg-gradient-black-green {
    background-image: linear-gradient(to right top, #1f2021, #1b1d1c, #1b1d1c, #222523, #333c37);
}
/* text color */
.text-gradient-emerald-blue-emerald-green {
    background-image: linear-gradient(to right top, #09afea, #19e089);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/* button gradient */
.btn-gradient-emerald-blue-emerald-green {
    background-image: linear-gradient(to right, #09afea, #19e089, #09afea);
    background-size: 200% auto;
    color: var(--white);
}
/* btn */
.btn{
    font-weight: 500;
    text-transform: inherit;
}
.btn.btn-extra-large {
    font-size: 22px;
}
.btn.btn-large {
    font-size:17px;
}
.btn.btn-medium {
    font-size: 16px;
}
.btn.btn-small {
    font-size: 15px;
}
.btn.btn-very-small {
    font-size: 13px;
}
.btn.btn-large .btn-icon i {
    top: 1px;
}
.btn.btn-link {
    padding: 0 0 2px;
}
.btn.btn-link-gradient {
    padding: 0 0 3px;
}
/* header */
header .navbar-brand img {
    max-height: 70px;
}
.navbar .navbar-nav .nav-link {
    font-size: 17px;
    letter-spacing: .5px;
    padding: 10px 22px
}
.push-menu .close-menu {
    right: 30px;
    top: 30px;
}
/* newsletter style  */
.newsletter-style-02 input {
    font-size: 14px;
}



/* Estado base: oculto y fuera de la pantalla en móvil */
.panel-certificaciones{
  position: fixed;
  top: 50%;
  left: 0;
  transform: translate(-110%, -50%);  /* fuera a la izquierda */
  z-index: 9999;
  padding: 10px;
  background-color: rgba(255,255,255,.9);
  box-shadow: 2px 2px 10px rgba(0,0,0,.1);
  border-radius: 10px;
  transition: transform .35s ease, opacity .35s ease;
  opacity: 0;
  pointer-events: none; /* no intercepta toques cuando está oculto */
}
.panel-certificaciones img{
  display: block;
  margin-bottom: 10px;
  width: 60px;
  height: auto;
}

/* Cuando debe mostrarse (al pasar el slider) */
.panel-certificaciones.is-visible{
  transform: translate(0, -50%);
  opacity: 1;
  pointer-events: auto;
}

/* En desktop lo podés dejar siempre visible si querés */
@media (min-width: 992px){
  .panel-certificaciones{
    transform: translate(0, -50%);
    opacity: 1;
    pointer-events: auto;
  }
}


.client-logo{
   max-height: 160px!important;
}

/* footer */
footer ul li {
    margin-bottom: 2px;
}



/* Colapsable con transición suave */
.collapsible {
  overflow: hidden;
  transition: max-height .35s ease;
  max-height: 0;        /* cerrado */
}

/* Lista limpia (opcional) */
.desc-list {
  margin: 0;
  padding-left: 1.2rem;
  line-height: 1.6;
}



/* === SOLO carrusel de #productos === */

/* Asegurá que el wrapper estire los hijos */
#productos .swiper-wrapper{
  align-items: stretch;            /* funciona porque Swiper usa display:flex */
}

/* Cada slide se comporta como contenedor flexible */
#productos .swiper-slide{
  height: auto !important;         /* pisa alturas inline de Swiper si las hubiera */
  display: flex;
  align-items: stretch;
}

/* La card ocupa TODO el alto del slide */
#productos .swiper-slide > .services-box-style-01,
#productos .swiper-slide > div.services-box-style-01{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
}

/* Imagen con alto consistente */
#productos .services-box-style-01 .box-image{
  width: 100%;
  aspect-ratio: 16/9;              /* si querés fijo: height: 220px; y quitás aspect-ratio */
  overflow: hidden;
}
#productos .services-box-style-01 .box-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;                  /* evita espacios fantasmas en inline images */
}

/* Cuerpo crece y el footer se va al fondo */
#productos .services-box-style-01 .bg-white{
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 1px;                 /* evita colapsos en flex */
}
#productos .services-box-style-01 .bg-white > div:first-child{
  flex: 1 1 auto;
}
#productos .services-box-style-01 .border-top{
  margin-top: auto;                /* empuja footer al fondo */
}

/* (Opcional) si hay saltos por padding/margins dispares, limitá el crecimiento del título */
#productos .services-box-style-01 .primary-font{
  display: -webkit-box;
  -webkit-line-clamp: 2;           /* máximo 2 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
}


.bg-charcoal-blue{
    background-color: #001f2c!important;
    color: #ffff!important;
}

.rotate-box p{
    color: #ffff!important;
}

.opacity-light {
    opacity: 0.8!important;
}



/* media query responsive */
@media (max-width: 1199px) {
    .navbar .navbar-nav .nav-link {
        padding: 10px 17px;
    }
}