/* 
* Estilos principales para domain
* Paleta de colores:
* - Fondo principal: #f0f4f8 (nežno-goluboj)
* - Acentos: #ff006e (malina), #3a86ff (sinij)
* - Titulares: #14213d (glubokij sinij)
* - Texto: #2b2d42 (temno-serij)
* - Botones: gradiente #ffbe0b - #fb5607
*/

/* RESET Y ESTILOS GENERALES */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Arial', sans-serif;
  background-color: #f0f4f8;
  color: #2b2d42;
  line-height: 1.6;
}

.container {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: #3a86ff;
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: #ff006e;
}

ul, ol {
  list-style: none;
}

.section-title {
  color: #14213d;
  font-size: 2.2rem;
  margin-bottom: 2rem;
  text-align: center;
  position: relative;
  padding-bottom: 0.5rem;
}

.section-title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background: linear-gradient(90deg, #ffbe0b, #fb5607);
}

section {
  padding: 5rem 0;
}

/* HEADER Y NAVEGACIÓN */
.main-header {
  background-color: white;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 1rem 0;
}

.main-header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo a {
  display: flex;
  align-items: center;
}

.logo-text {
  font-size: 1.8rem;
  font-weight: bold;
  color: #14213d;
  background: linear-gradient(90deg, #ffbe0b, #fb5607);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.menu {
  display: flex;
  gap: 1.5rem;
  align-items: center;
}

.menu li {
  display: flex;
  align-items: center;
}

.menu li a {
  color: #14213d;
  font-weight: 500;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
}

.menu li a:hover {
  color: #ff006e;
}

.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-weight: bold;
  border-radius: 30px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  border: none;
}

.btn-primary {
  background: linear-gradient(90deg, #ffbe0b, #fb5607);
  color: white;
  box-shadow: 0 4px 10px rgba(251, 86, 7, 0.3);
}

.btn-primary:hover {
  background: linear-gradient(90deg, #fb5607, #ffbe0b);
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(251, 86, 7, 0.4);
}

.btn-outline {
  border: 2px solid #3a86ff;
  color: #3a86ff;
}

.btn-outline:hover {
  background-color: #3a86ff;
  color: white;
}

.btn-submit {
  background: linear-gradient(90deg, #ff006e, #3a86ff);
  color: white;
  width: 100%;
  box-shadow: 0 4px 10px rgba(58, 134, 255, 0.3);
}

.btn-submit:hover {
  background: linear-gradient(90deg, #3a86ff, #ff006e);
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(58, 134, 255, 0.4);
}

.btn-cookie {
  background-color: #3a86ff;
  color: white;
}

.btn-cookie:hover {
  background-color: #2a76ef;
  color: white;
}

/* MENÚ MÓVIL */
.mobile-menu-toggle {
  display: none;
}

.menu-checkbox {
  display: none;
}

.menu-button {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
}

.menu-icon {
  position: relative;
  width: 30px;
  height: 3px;
  background-color: #14213d;
  transition: all 0.3s;
}

.menu-icon::before, .menu-icon::after {
  content: '';
  position: absolute;
  width: 30px;
  height: 3px;
  background-color: #14213d;
  transition: all 0.3s;
}

.menu-icon::before {
  transform: translateY(-10px);
}

.menu-icon::after {
  transform: translateY(10px);
}

.menu-checkbox:checked + .menu-button .menu-icon {
  background-color: transparent;
}

.menu-checkbox:checked + .menu-button .menu-icon::before {
  transform: rotate(45deg);
}

.menu-checkbox:checked + .menu-button .menu-icon::after {
  transform: rotate(-45deg);
}

/* SECCIÓN HERO */
.hero {
  background: linear-gradient(to right, rgba(240, 244, 248, 0.9), rgba(240, 244, 248, 0.7)), url('./img/MXAcou.jpg');
  background-size: cover;
  background-position: center;
  padding: 5rem 0;
  position: relative;
}

.hero .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.hero-content {
  flex: 1;
}

.hero-content h1 {
  color: #14213d;
  font-size: 3rem;
  margin-bottom: 1rem;
}

.hero-content p {
  font-size: 1.2rem;
  margin-bottom: 2rem;
}

.hero-image {
  flex: 1;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* SECCIÓN SOBRE NOSOTROS */
.about-content {
  display: flex;
  gap: 3rem;
  align-items: center;
}

.about-text {
  flex: 1;
}

.about-text p {
  margin-bottom: 1rem;
}

.about-image {
  flex: 1;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* SECCIÓN SERVICIOS */
.services {
  background-color: white;
  padding: 5rem 0;
  position: relative;
  z-index: 1;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.service-card {
  background: white;
  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border-bottom: 3px solid transparent;
  color: #2b2d42;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.service-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
  border-bottom: 3px solid #ff006e;
}

.service-image {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
}

.service-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.service-card:hover .service-image img {
  transform: scale(1.05);
}

.service-content {
  padding: 2rem;
}

.service-card h3 {
  color: #14213d;
  margin-bottom: 1rem;
  font-weight: 600;
}

.service-card p {
  color: #2b2d42;
  line-height: 1.6;
  font-weight: 400;
}

.service-icon {
  width: 70px;
  height: 70px;
  background-color: rgba(58, 134, 255, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
  position: relative;
  box-shadow: 0 4px 8px rgba(58, 134, 255, 0.2);
}

.service-icon::before {
  content: '';
  position: absolute;
  width: 35px;
  height: 35px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.service-icon.accounting::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230052cc'%3E%3Cpath d='M21 18v1a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-1m0-14v13h18V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1zm6 4h.01M15 8h.01M12 8h.01M9 8h.01M6 8h.01M18 8h.01M6 12h.01M9 12h.01M12 12h.01M15 12h.01M18 12h.01M6 16h.01M9 16h.01M12 16h.01M15 16h.01'/%3E%3C/svg%3E");
}

.service-icon.tax::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230052cc'%3E%3Cpath d='M9 7h6m0 10v-3m-3-4v7m-3-4v4m-4 0h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2z'/%3E%3C/svg%3E");
}

.service-icon.audit::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230052cc'%3E%3Cpath d='M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01'/%3E%3C/svg%3E");
}

/* SECCIÓN VENTAJAS */
.benefits {
  background-color: #f0f4f8;
  padding: 5rem 0;
  position: relative;
  z-index: 1;
}

.benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 2rem;
}

.benefit-item {
  background: white;
  border-radius: 10px;
  padding: 1.5rem;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  transition: transform 0.3s ease;
  color: #2b2d42;
}

.benefit-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}

.benefit-item p {
  color: #2b2d42;
  line-height: 1.5;
  font-weight: 400;
}

.benefit-icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 1rem;
  background-color: rgba(255, 0, 110, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 4px 8px rgba(255, 0, 110, 0.2);
}

.benefit-icon::before {
  content: '';
  position: absolute;
  width: 30px;
  height: 30px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.benefit-icon.experience::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d1005c'%3E%3Cpath d='M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z'/%3E%3C/svg%3E");
}

.benefit-icon.personalization::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d1005c'%3E%3Cpath d='M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E");
}

.benefit-icon.technology::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d1005c'%3E%3Cpath d='M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4'/%3E%3C/svg%3E");
}

.benefit-icon.support::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d1005c'%3E%3Cpath d='M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM6.75 9.75a2 2 0 100-4 2 2 0 000 4z'/%3E%3C/svg%3E");
}

.benefit-item h3 {
  color: #14213d;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

/* SECCIÓN TESTIMONIOS */
.testimonials {
  background: linear-gradient(45deg, #14213d, #2a364f);
  color: white;
}

.testimonials .section-title {
  color: white;
}

.testimonials-slider {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.testimonial-card {
  background: white;
  border-radius: 10px;
  padding: 2rem;
  color: #2b2d42;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  position: relative;
}

.testimonial-card:after {
  content: '"';
  position: absolute;
  top: 10px;
  left: 20px;
  font-size: 5rem;
  color: rgba(255, 0, 110, 0.1);
  font-family: Georgia, serif;
}

.testimonial-text {
  margin-bottom: 1rem;
  font-style: italic;
  position: relative;
  z-index: 1;
}

.testimonial-author {
  font-weight: bold;
  color: #ff006e;
}

/* SECCIÓN FORMULARIO */
.contact-form {
  background: linear-gradient(to right, rgba(240, 244, 248, 0.9), rgba(240, 244, 248, 0.7)), url('./img/qgateT.jpg');
  background-size: cover;
  background-position: center;
}

.form-container {
  max-width: 600px;
  margin: 0 auto;
  background: white;
  padding: 2rem;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  border-left: 5px solid #ff006e;
}

.form-group {
  margin-bottom: 1.5rem;
}

.form-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #14213d;
}

.form-group input,
.form-group select {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  font-family: inherit;
  font-size: 1rem;
  transition: border-color 0.3s;
}

.form-group input:focus,
.form-group select:focus {
  outline: none;
  border-color: #3a86ff;
  box-shadow: 0 0 0 2px rgba(58, 134, 255, 0.2);
}

.form-group.checkbox {
  display: flex;
  align-items: flex-start;
}

.form-group.checkbox input {
  width: auto;
  margin-right: 10px;
  margin-top: 5px;
}

.form-group.checkbox label {
  margin-bottom: 0;
  line-height: 1.4;
}

/* SECCIÓN FAQ */
.faq {
  background-color: white;
}

.faq-container {
  max-width: 800px;
  margin: 0 auto;
}

.faq-item {
  margin-bottom: 1.5rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
}

.faq-toggle {
  display: none;
}

.faq-question {
  display: block;
  padding: 1.2rem;
  font-weight: 600;
  cursor: pointer;
  background-color: #f8f9fa;
  color: #14213d;
  position: relative;
  transition: all 0.3s;
}

.faq-question:hover {
  background-color: #f0f4f8;
}

.faq-question:after {
  content: '+';
  position: absolute;
  right: 1.2rem;
  font-size: 1.5rem;
  transition: transform 0.3s;
}

.faq-toggle:checked + .faq-question {
  background-color: #3a86ff;
  color: white;
}

.faq-toggle:checked + .faq-question:after {
  content: '−';
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
  padding: 0 1.2rem;
}

.faq-toggle:checked ~ .faq-answer {
  max-height: 1000px;
  padding: 1.2rem;
}

/* SECCIÓN BLOG */
.blog {
  background-color: #f0f4f8;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

.blog-card {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease;
}

.blog-card:hover {
  transform: translateY(-10px);
}

.blog-image {
  height: 200px;
  overflow: hidden;
}

.blog-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.blog-card:hover .blog-image img {
  transform: scale(1.05);
}

.blog-content {
  padding: 1.5rem;
}

.blog-content h3 {
  color: #14213d;
  margin-bottom: 0.5rem;
  font-size: 1.2rem;
}

/* FOOTER */
.main-footer {
  background-color: #14213d;
  color: white;
  padding: 3rem 0 1rem;
}

.footer-content {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-bottom: 2rem;
}

.footer-section h3 {
  color: white;
  margin-bottom: 1.2rem;
  position: relative;
  padding-bottom: 0.5rem;
}

.footer-section h3::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #ffbe0b, #fb5607);
}

.contact-info li, 
.legal-links li {
  margin-bottom: 0.8rem;
}

.contact-info a, 
.legal-links a {
  color: #a4b5c9;
  transition: color 0.3s;
}

.contact-info a:hover, 
.legal-links a:hover {
  color: #3a86ff;
}

.icon-phone, .icon-email, .icon-location {
  display: inline-block;
  width: 16px;
  height: 16px;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
}

.icon-phone {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233a86ff'%3E%3Cpath d='M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z'/%3E%3C/svg%3E");
}

.icon-email {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233a86ff'%3E%3Cpath d='M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z'/%3E%3C/svg%3E");
}

.icon-location {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233a86ff'%3E%3Cpath d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z'/%3E%3Cpath d='M15 11a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E");
}

.footer-bottom {
  text-align: center;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  font-size: 0.9rem;
  color: #a4b5c9;
}

/* COOKIE POPUP */
.cookie-popup {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: white;
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  display: none;
  max-width: 400px;
  width: 90%;
  text-align: center;
  animation: slideUp 0.5s ease forwards;
}

.cookie-popup p {
  margin-bottom: 1rem;
}

/* ANIMACIONES CSS */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideIn {
  from { transform: translateX(50px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes slideUp {
  from { transform: translate(-50%, 100px); opacity: 0; }
  to { transform: translate(-50%, 0); opacity: 1; }
}

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.animate-fade-in {
  animation: fadeIn 1s ease forwards;
}

.animate-fade-in-delay {
  animation: fadeIn 1s ease 0.3s forwards;
  opacity: 0;
}

.animate-slide-in {
  animation: slideIn 1s ease forwards;
}

.animate-pulse {
  animation: pulse 2s infinite;
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s, transform 0.6s;
}

.animate-on-scroll.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Add default visibility for elements if JavaScript is disabled */
.no-js .animate-on-scroll {
  opacity: 1;
  transform: translateY(0);
}

/* MEDIA QUERIES */
@media screen and (max-width: 992px) {
  .hero .container,
  .about-content {
    flex-direction: column;
  }
  
  .hero-content,
  .about-text,
  .hero-image,
  .about-image {
    flex: none;
    width: 100%;
  }
  
  .hero-image,
  .about-image {
    margin-top: 2rem;
  }
  
  .section-title {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .mobile-menu-toggle {
    display: block;
  }
  
  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: white;
    padding: 1rem;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transition: all 0.3s ease;
  }
  
  .menu-checkbox:checked ~ .main-nav {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  
  .menu {
    flex-direction: column;
    gap: 1rem;
  }
  
  .hero-content h1 {
    font-size: 2.5rem;
  }
  
  .footer-content {
    grid-template-columns: 1fr;
  }
} 