*/* RESET */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}

body{
  background:#ffffff;
  color:#111;
}

/* ============================= */
/* SECCIÓN */
/* ============================= */

.pricing-section{
  position:relative;
  padding:150px 20px;
  max-width:1200px;
  margin:auto;
  text-align:center;
}

/* ============================= */
/* TÍTULOS */
/* ============================= */

.section-title{
  font-size:clamp(2.5rem, 5vw, 4rem);
  font-weight:800;
  margin-bottom:20px;
}

.gradient{
  background:linear-gradient(90deg,#1FA84A,#F4C542,#D62828);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.section-subtitle{
  max-width:700px;
  margin:0 auto 80px;
  font-size:clamp(1rem,1.2vw,1.2rem);
  color:#555;
}

/* ============================= */
/* GRID (3 COLUMNAS NATURALES) */
/* ============================= */

.pricing-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
  gap:50px;
  width:100%;
}

/* ============================= */
/* CARDS */
/* ============================= */

.pricing-card{
  padding:50px;
  border-radius:30px;
  background:#fff;
  box-shadow:0 30px 60px rgba(0,0,0,0.06);
  transition:all .4s ease;
}

.pricing-card:hover{
  transform:translateY(-12px);
  box-shadow:0 60px 120px rgba(0,0,0,0.12);
}

.pricing-card h3{
  font-size:1.3rem;
  margin-bottom:15px;
}

.price{
  font-size:2.2rem;
  font-weight:800;
  margin:20px 0;
}

.price span{
  font-size:1rem;
  color:#666;
}

.pricing-card ul{
  list-style:none;
  text-align:left;
  margin:30px 0;
}

.pricing-card ul li{
  margin-bottom:15px;
  padding-left:25px;
  position:relative;
}

.pricing-card ul li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#1FA84A;
  font-weight:700;
}

.no-template{
  color:#D62828;
  font-weight:600;
  margin-bottom:20px;
}

/* DESTACADO */

.featured{
  border:2px solid #1FA84A;
  box-shadow:0 50px 100px rgba(31,168,74,0.15);
}

.badge{
  background:#1FA84A;
  color:#fff;
  padding:6px 15px;
  border-radius:30px;
  font-size:0.8rem;
  font-weight:600;
  display:inline-block;
  margin-bottom:20px;
}

/* BOTONES */

.btn{
  display:inline-block;
  padding:14px 35px;
  border-radius:40px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-weight:600;
  transition:.3s ease;
}

.btn.primary{
  background:linear-gradient(90deg,#1FA84A,#F4C542);
  color:#000;
}

.btn:hover{
  transform:scale(1.05);
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media(max-width:768px){

  .pricing-section{
    padding:100px 20px;
  }

  .pricing-card{
    padding:35px;
  }

}
/* ============================= */
/* SECCIÓN */
/* ============================= */

.projects-section{
  padding:clamp(100px,10vw,160px) 20px;
  max-width:1200px;
  margin:auto;
}

.projects-title{
  text-align:center;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:800;
  margin-bottom:80px;
}

/* ============================= */
/* SLIDER MODERNO */
/* ============================= */

.projects-slider{
  display:flex;
  gap:40px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  cursor:grab;
  padding-bottom:10px;
}

/* Ocultar scrollbar */

.projects-slider::-webkit-scrollbar{
  display:none;
}
.projects-slider{
  scrollbar-width:none;
}

/* ============================= */
/* CARD RECTANGULAR */
/* ============================= */

.project-card{
  flex:0 0 auto;
  width:420px;
  height:260px;
  border-radius:25px;
  background:#f7f7f7;
  scroll-snap-align:start;
  position:relative;
  overflow:hidden;
  transition:.4s cubic-bezier(.16,1,.3,1);
}

.project-card:hover{
  transform:translateY(-8px);
  box-shadow:0 40px 100px rgba(0,0,0,0.12);
}

/* IMAGEN / MOCKUP */

.project-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.4s ease;
}

.project-card:hover img{
  transform:scale(1.05);
}

/* OVERLAY INFO */

.project-info{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  padding:25px;
  background:linear-gradient(to top, rgba(0,0,0,0.7), transparent);
  color:#fff;
}

.project-name{
  font-weight:600;
  font-size:1.1rem;
}

/* RESPONSIVE */

@media(max-width:768px){

  .project-card{
    width:300px;
    height:200px;
  }

}
.footer-redes {
    margin-top: 20px;
    text-align: center;
}

.redes-icons {
    display: flex;
    justify-content: center;
    gap: 18px;
}

.redes {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    text-decoration: none;
    color: #ffffff;
    transition: 0.4s ease;
    background: linear-gradient(
        45deg,
        #0f9d58 0%,
        #f4c20d 25%,
        #db4437 60%,
        #db4437 80%
    );
    background-size: 250% 250%;
    animation: gradientMove 3s ease infinite;
}

.redes:hover {
    transform: translateY(-5px) scale(1.08);
    box-shadow: 0 0 18px rgba(219,68,55,0.6);
}

@keyframes gradientMove {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}