/* F O N T */
@font-face {
  font-family: 'forma_djr_display';
  src: url('formadjrdisplay-bold-testing-webfont.woff2') format('woff2'),
         url('formadjrdisplay-bold-testing-webfont.woff') format('woff');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'forma_djr_display';
  src: url('formadjrdisplay-bolditalic-testing-webfont.woff2') format('woff2'),
         url('formadjrdisplay-bolditalic-testing-webfont.woff') format('woff');
  font-weight: 600;
  font-style:italic;
}

@font-face {
  font-family: 'forma_djr_display';
  src: url('formadjrdisplay-italic-testing-webfont.woff2') format('woff2'),
         url('formadjrdisplay-italic-testing-webfont.woff') format('woff');
  font-weight: normal;
  font-style:italic;
}

@font-face {
  font-family: 'forma_djr_display';
  src: url('formadjrdisplay-light-testing-webfont.woff2') format('woff2'),
         url('formadjrdisplay-light-testing-webfont.woff') format('woff');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'forma_djr_display';
  src: url('formadjrdisplay-medium-testing-webfont.woff2') format('woff2'),
         url('formadjrdisplay-medium-testing-webfont.woff') format('woff');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'forma_djr_display';
  src: url('formadjrdisplay-regular-testing-webfont.woff2') format('woff2'),
         url('formadjrdisplay-regular-testing-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

*, body, h1, h2, h3, h4, h5, h6, a, p {
  font-family: 'forma_djr_display', sans-serif !important;
}

/* G E N E R A L I D A D E S */
.button-nuka {
  text-transform: uppercase;
  padding: 15px 30px;
  background-color: #246b4c;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: 1.6px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.button-secondary.button-nuka .button-overlay {
  background-color: #2d945c !important;
}

.button-secondary.button-nuka:hover {
  color: #fff !important;
  background-color: #2d945c !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(36, 107, 76, 0.3);
}

.mt-5 {
  margin-top: 3rem;
}

/* E N C A B E Z A D O */
.page-header {
  position: fixed;
  width: 100%;
  z-index: 1000;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(0px);
}


.rd-navbar-static .rd-navbar-main {
  padding: 0;
}

.rd-navbar-wrap {
  height: 120px !important;
}

.rd-navbar-corporate,
.rd-navbar-main-outer,
.rd-navbar-main {
  background: transparent !important;
}

.rd-navbar-static .rd-navbar-brand {
  max-width: 150px;
  display: flex;
  align-items: center;
  transition: max-width 0.3s ease;
}

.rd-navbar-static .rd-navbar-brand img {
  width: 80%;
  height: auto;
  object-fit: contain;
  transition: all 0.3s ease;
}

.brand-logo {
  padding: 10px;
}

.header-transparent {
  background: transparent !important;
  backdrop-filter: blur(0px);
}

.header-solid {
  background: rgba(36, 107, 76, 0.95) !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

.header-transparent .rd-nav-link {
  color: white !important;
}

.header-transparent .brand-logo-dark {
  display: none !important;
}

.header-transparent .brand-logo-light {
  display: block !important;
}

.rd-nav-link {
  color: white;
}

.brand-logo-dark {
  display: none;
}

.brand-logo-light {
  display: block;
}

.rd-navbar a:hover {
  opacity: 0.5;
}

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

.rd-navbar-main-element {
  flex: 1;
  display: flex;
  justify-content: center;
}

.rd-navbar-social {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-right: 10px;
}

.rd-navbar-social a {
  transition: opacity 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rd-navbar-social a:hover {
  opacity: 0.7;
}

.rd-navbar-social img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  transition: all 0.3s ease;
}

.rd-navbar-social .tiktok {
  height: 17px;
}

.rd-navbar-social a:hover img {
  opacity: 0.8;
  transform: scale(1.1);
}

.rd-navbar-panel .mobile-social {
  display: none;
}

/* S L I D E R */
.sliderH1 {
  color: #fff;
  font-style: normal;
  font-weight: bold;
  font-size: 48px;
}

.slider p {
  font-weight: 300;
  margin-top: 0;
  letter-spacing: 1.2px;
  font-size: 24px;
}

.botonSlider {
  margin-top: 30px;
}

/* VIDEO DE FONDO */
.video-background-container {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}

.video-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.video-background video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.video-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  padding: 2rem;
}

/* P R O D U C C I Ó N  N A C I O N A L */
.production-section {
  position: relative;
  background: #e8e0c1;
  padding: 50px;
  margin-top: -80px;
  z-index: 10;
}

.production-title {
  font-size: 2rem;
  color: #246b4c;
  margin-bottom: 20px;
  font-weight: 400;
}

.production-text {
  font-size: 1.2rem;
  color: #246b4c;
  line-height: 1.6;
}

.production-text-container {
  width: 346px;
  height: 346px;
  border-radius: 10px;
  background: transparent;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
}

.production-text-container .production-title {
  font-size: 1.8rem;
  margin-bottom: 15px;
  text-align: left;
}

.production-text-container .production-text {
  font-size: 1rem;
  line-height: 1.5;
  text-align: left;
  color: #246b4c;
}

.production-img-container {
  width: 346px;
  height: 346px;
  border-radius: 80px;
  overflow: hidden;
  transition: all 0.3s ease;
  margin: 0 auto;
}

.production-img-container:hover {
  transform: translateY(-5px);
}

.production-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* H A C E M O S  R E A L I D A D */

#contenido-hacemos .heading-1 {
  font-size: 48px;
}

#contenido-hacemos .row {
  margin: 20px;
}

#contenido-hacemos p {
  font-size: 24px;
  letter-spacing: 1.2px;
}

.contenido-hacemos .button-nuka {
  margin-top: 30px;
}

#hacemosRealidad .owl-item { margin: 0 !important; padding: 0 !important;}


/* N U E S T R O S  P R O D U C T O S */

.background-carousel-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.background-carousel-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.background-carousel-wrapper .owl-carousel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  margin: 0px !important;
  padding: 0;
}

.background-carousel-wrapper .owl-stage-outer,
.background-carousel-wrapper .owl-stage,
.background-carousel-wrapper .owl-item {
  height: 100%;
}

.nuestrosProductos-section .owl-stage {
  gap: 20px !important;
  display: flex;
  justify-content: center;
}

.owl-stage-outer .owl-carousel.owl-drag .owl-item {
  margin: 0 !important;
  margin-right: 0 !important;
}

.background-carousel-wrapper .owl-corporate-item {
  height: 100%;
}

.background-carousel-wrapper .owl-corporate-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.7;
}

#our-projects .container {
  position: relative;
  z-index: 2;
}

#our-projects .heading-1 {
  margin-bottom: 20px;
}

#our-projects .big {
  margin-bottom: 30px;
}

/* N U E S T R O S  P R O D U C T O S */
.nuestrosProductos-section {
  background: #b1b49d;
}

.nuestrosProductos-section .container {
  max-width: 1260px;
  padding: 0;
}

.nuestrosProductos-title {
  text-align: center;
}

.nuestrosProductos-title h2 {
  color: #246b4c;
  font-weight: 400;
}

.nuestrosProductos-img-container {
  width: 100%;
  max-width: 280px;
  height: auto;
  aspect-ratio: 3/4;
  border-radius: 80px;
  overflow: hidden;
  margin: 0;
  position: relative;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}

.nuestrosProductos-img-container:hover {
  transform: translateY(-2px) scale(0.95);
  /* box-shadow: 0 15px 35px rgba(36, 107, 76, 0.2); */
}

.nuestrosProductos-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.button-inside-image {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 10;
}

.btn-nuestros-productos {
  font-size: 14px;
  display: inline-block;
  padding: 10px 20px;
  background-color: #246b4c;
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  border-radius: 50px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  line-height: 1.1;
}

.btn-nuestros-productos:hover {
  background-color: #2d945c;
  transform: translateY(-3px);
  color: #fff;
}

.btn-nuestros-productos:active {
  transform: translateY(0);
}

.btn-nuestros-productos .button-overlay {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
  transition: all 0.6s ease;
}

.btn-nuestros-productos:hover .button-overlay {
  left: 100%;
}

.nuestrosProductos-section .owl-nav {
  display: flex !important;
}

.nuestrosProductos-section .owl-stage-outer {
  overflow: visible;
}

/* S O M O S  F A B R I C A N T E S */
.somosFabricantes-section {
  position: static;
  background: #e5e1d9;
  padding: 20px !important;
}

.somosFabricantes-section .row { align-items: center;}

.somosFabricantes-section .col-md-6:first-child {
  align-content: center;
}

.somosFabricantes-section .col-md-6 {
  padding: 0;
  width: 90%;
  margin: 0 auto;
}

.somosFabricantes-title {
  font-size: 2rem !important;
  color: #246b4c;
  font-weight: 400;
  line-height: 1;
}

.somosFabricantes-text {
  font-size: 20px;
  margin: 0;
  line-height: 1;
}

.somosFabricantesTexto2 {
  background-color: #b3b8ff;
  padding: 30px;
  width: 450px !important;
  position: absolute;
  margin-top: 25px;
  z-index: 10;
  text-align: left;
  border-radius: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #246b4c;
}

.somosFabricantes-section .texto2 {
  text-align: right;
}

.fabricantes-imagen {
  width: 300px;
  position: relative;
  margin: 0 !important;
}

.somosFabricantes-text-container .somosFabricantes-title {
  font-size: 24px;
  text-align: left;
}

.somosFabricantes-text-container .somosFabricantes-text {
  text-align: left;
  color: #246b4c;
}

.somosFabricantesTexto1 .somosFabricantesTexto3 {
  font-size: 20px;
  width: 90%;
}

.somosFabricantesTexto3 strong {
  margin-top: 30px !important;
}

/* D I S E Ñ Á  T U  B O L S A */
.tuBolsa-section {
  background: #246b4c;
}

.container-tuBolsa {
  max-width: 1100px !important;
}

.tuBolsa-title {
  text-align: center;
}

.tuBolsa-title h2 {
  color: #e5e1d9;
  font-weight: 500;
}

.tuBolsa-title .simplesPasos {
  background-color: #e5e1d9;
  color: #246b4c;
  padding: 0 12px;
}

.container-tuBolsa .tuBolsaTextos {
  text-align: center;
}

.container-tuBolsa h6,
.container-tuBolsa p {
  color: #e5e1d9;
  margin-top: 20px;
  line-height: 1;
  text-transform: uppercase;
}

.elegi, .envia, .coordina {
  width: 70%;
  margin: auto;
}

.botonTuBolsa {
  text-align: center;
  margin-top: 50px;
}

.tuBolsa-img-container {
  width: 220px;
  height: 220px;
  border-radius: 60px;
  overflow: hidden;
  transition: all 0.3s ease;
  margin: 0 auto;
}


.tuBolsa-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.container-tuBolsa .button-nuka {
  background: #e5e1d9;
  color: #246b4c;
}

/* F A Q S */
#faq {
  padding: 80px 0;
  background-color: #fff;
}

.faq-left-content {
  padding-right: 30px;
}

.faq-main-title {
  font-size: 3.5rem;
  color: #3348a6;
  font-weight: 600;
}

.faq-subtitle {
  font-size: 1.4rem;
  color: #3348a6;
  line-height: 1.5;
  margin: 0;
  font-weight: 400;
}

.faq-accordion {
  overflow: hidden;
}

.faq-item {
  border-bottom: 0.5px solid #bbd6d6;
}

.faq-question {
  width: 100%;
  text-align: left;
  padding: 15px 20px;
  background: white;
  border: none;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.1rem;
  font-weight: 500;
  color: #3348a6;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 8px;
  margin-bottom: 5px;
}

.faq-question:hover {
  background-color: #f1f8ff;
  transform: translateX(5px);
}

.faq-question.active {
  background-color: #3348a6;
  color: white;
  transform: translateX(0);
}

.faq-icon {
  font-size: 1.5rem;
  font-weight: 300;
  transition: transform 0.3s ease;
}

.faq-question.active .faq-icon {
  transform: rotate(45deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: white;
  border-radius: 0 0 8px 8px;
  opacity: 0;
}

.faq-answer.active {
  max-height: 200px;
  opacity: 1;
}

.faq-answer.open {
  max-height: 200px;
  opacity: 1;
}

.faq-answer p {
  padding: 0 20px 20px;
  margin: 0;
  color: #333;
  line-height: 1.6;
}

/* Estilos para las flechas personalizadas de los carruseles */
.custom-nav-arrow {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #246b4c;
  border-radius: 50%;
  color: white;
}

.custom-nav-arrow img {
  filter: brightness(0) invert(1);
  /* Esto convierte el SVG a blanco */
    width: 20px;
  height: 20px;
}

.arrow-right {
  transform: rotate(180deg);
}

/* C O N T A C T A N O S */
#contacts {
  color: #246b4c;
  background: #e8e0c1;
  overflow: hidden;
}

.contacts-container {
  display: flex;
  margin: 0 auto;
  height: auto;
}

.contacts-form-column {
  flex: 1;
  padding: 40px;
  background: #e8e0c1;
  display: flex;
  flex-direction: column;
}

.contacts-header {
  text-align: center;
  margin-bottom: 40px;
}

.contacts-header h6 {
  color: #246b4c;
  text-transform: uppercase;
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 1.8rem;
  text-align: left;
}

.contacts-header h2 {
  font-size: 1.2rem;
  color: #246b4c;
  line-height: 1.6;
  text-align: left;
  margin-top: 0;
  font-weight: 400;
}

.contacts-form {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 15px 0;
}

.form-row {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

.form-group {
  position: relative;
  flex: 1;
}

.contacts-form input,
.contacts-form textarea {
  width: 100%;
  padding: 10px 15px;
  border-radius: 25px;
  font-size: 15px;
  transition: all 0.3s;
  background: transparent;
  color: #333;
  border: 1px solid #246b4c;
}

.contacts-form label {
  position: absolute;
  top: 15px;
  left: 15px;
  color: #999;
  pointer-events: none;
  transition: all 0.3s;
  background: #e8e0c1;
  padding: 0 5px;
}

.contacts-form textarea {
  resize: vertical;
  min-height: 120px;
}

.contacts-form .cotizar-ahora {
  display: flex;
}

.contacts-form-column .confianza {
  margin: auto 20px !important;
}

.contacts-submit-btn {
  text-transform: uppercase;
  background-color: #246b4c;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: 1.6px;
  color: #fff;
  padding: 5px 25px;
  border-radius: 80px;
  border: none;
  cursor: pointer;
  transition: all 0.3s;
  margin-top: auto;
  align-self: flex-start;
}

.contacts-submit-btn:hover {
  background-color: #2d945c;
  transform: translateY(-2px);
}

.contacts-info-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  background:#246b4c ;
}

.contacts-info-section {
  flex: 0 0 30%;
  background: #246b4c;
  padding: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contacts-info-section strong { display: contents;}

.rd-contact-social {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 50px;
  margin-bottom: 15px;
}

.contact-info-item {
  display: flex;
  align-items: center;
}

.contact-info-icon {
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 5px;
  fill: #e8e0c1;
  font-size: 20px;
}

.contact-info-icon:hover {
  opacity: 0.5;
}

.contact-info-text {
  display: flex;
  flex-direction: column;
  font-size: 18px;
  color: #e8e0c1;
}

.contact-info-text a:hover {
  opacity: 0.5;
}

.contact-info-item a:hover { color: #b1b59d;}

.contacts-map-section {
  flex: 0 0 60%;
}

.contacts-map-section iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: none;
  border-radius: 50%;
}

/* W H A T S A P P */
#wppwidget {
  bottom: 40px;
  right: 40px;
  position: fixed;
  top: auto;
  width: 50px;
  z-index: 98;
}

#wppwidget .btn-whatsapp {
  background-color: #00d35e;
  border-radius: 25px;
  box-shadow: 3px 3px 0 0 rgba(0,0,0,0.2);
  color: #fff;
  display: block;
  float: right;
  height: 50px;
  padding: 0;
  text-align: center;
  width: 50px;
  z-index: 999;
}

#wppwidget img {
  color: #fff;
  fill: #fff;
  margin: 10px;
  width: 30px;
}

/* F O O T E R */
footer {
  background-color: #fff !important;
}

footer .container {
  max-width: none;
  padding: 15px 40px;
}

.firmaLups {
  display: flex;
}

.lupe svg {
    margin-bottom: 3px;
}

.afip {
  width: 25px;
  margin-right: 20px;
}

.footer-corporate-aside {
  padding: 0;
}

footer .rights span {
  font-size: 12px;
}

/* M O D A L */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(0px);
}

.modal-overlay.active {
  opacity: 1;
  visibility: visible;
  backdrop-filter: blur(5px);
}

.modal-container {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 600px;
  padding: 45px;
  position: relative;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  transform: translateY(-50px) scale(0.9);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  max-height: 85vh;
}

.modal-overlay.active .modal-container {
  transform: translateY(0) scale(1);
}

.close-modal {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 35px;
  height: 35px;
  background: #246b4c;
  color: white;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.2rem;
  transition: all 0.3s ease;
  z-index: 10001;
  border: none;
}

.close-modal:hover {
  opacity: 0.7;
  transform: scale(1.1);
}

.modal-content {
  background: transparent;
}

.modal-content h3 {
  color: #2c3e50;
  margin-bottom: 20px;
  font-size: 1.5rem;
  border-bottom: 2px solid #2d945c;
  padding-bottom: 10px;
}

.modal-content p {
  color: #34495e;
  line-height: 1.6;
  margin-bottom: 15px;
  text-align: left;
}

.modal-content p:last-child {
  margin-bottom: 0;
}

/* PRODUCTS CAROUSEL */
.products-carousel {
  position: relative;
  padding: 0 40px;
  overflow: hidden;
}

.owl-carousel .owl-item {
  padding: 0 !important;
}

.owl-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  left: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  pointer-events: none;
}

.owl-prev, .owl-next {
  width: 40px;
  height: 40px;
  background: #246b4c !important;
  border-radius: 50% !important;
  color: white !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  font-size: 24px !important;
}

.owl-prev:hover, .owl-next:hover {
  opacity: 0.7;
  transform: scale(1.1);
}

/* Prevenir scroll del body cuando el modal está abierto */
body.modal-open {
  overflow: hidden;
  height: 100%;
  width: 100%;
  position: relative;
}

/* ============================================ */
/* M E D I A   Q U E R I E S */
/* ============================================ */

/* Min-width 1200px */
@media (min-width: 1200px) {
    .container {
        max-width: 1300px;
    }

    .section-md {
        padding: 80px 0;
    }
}

/* Min-width 768px */
@media (min-width: 768px) {
    .header-solid {
        background: rgba(0, 0, 0, 0.6) !important;
        backdrop-filter: blur(10px);
    }

    .elevated-box {
        margin-top: -40% !important;
        position: relative;
        z-index: 15;
    }
}

/* 1200px */
@media (max-width: 1200px) {
    .rd-navbar-static .rd-navbar-brand {
        max-width: 130px;
    }
}

@media (max-width: 1024px) {

    .production-img-container { width: 280px; height: 280px;}

    .somosFabricantes-section .wow { display: block; justify-items: center;}

    .somosFabricantes-text,
    .somosFabricantesTexto1 .somosFabricantesTexto3 { font-size: 16px;}

    .somosFabricantes-text-container .somosFabricantes-text,
    .somosFabricantes-text-container .somosFabricantes-title,
    .somosFabricantes-section .texto2,
    .somosFabricantesTexto2 { text-align: center;}

    .somosFabricantesTexto2 { justify-content: center; display: flex; width: 100% !important; margin-top: -5px;}

    .somosFabricantesTexto1 .somosFabricantesTexto3 { width: 100%;}

    .somosFabricantes-section .texto2 { margin-top: 18px;}

    .somosFabricantesTexto3 { font-size: 16px;}

    .somosFabricantes-section img { margin-top: 30px;}

    .contacts-form .cotizar-ahora { display: block; text-align: center;}
}

/* 992px */
@media (max-width: 992px) {
    .rd-navbar-social {
        display: flex;
    }

    .rd-navbar-static .rd-navbar-brand {
        max-width: 110px;
    }

    .rd-navbar-main-element {
        flex: none;
    }

    .production-text-container { height: auto; margin-bottom: 0 !important;}

    .production-text-container {
        padding: 20px;
    }

    .production-text-container .production-title {
        font-size: 24px;
    }

    .somosFabricantes-text-container {
        padding: 20px 10px;
    }

    .somosFabricantes-text-container .somosFabricantes-title {
        font-size: 20px;
    }

    .contacts-container {
        flex-direction: column;
        height: auto;
    }

    .contacts-form-column {
        padding: 30px 20px;
    }

    .contacts-info-column {
        flex-direction: row;
    }

    .contacts-info-section {
        flex: 0 0 40%;
    }

    .contacts-map-section {
        flex: 0 0 60%;
    }
}

/* 768px */
@media (max-width: 768px) {
    html.rd-navbar-fixed-linked .page {
        padding: 0;
    }

    .rd-navbar-corporate.rd-navbar-fixed .rd-navbar-panel {
        background-color: rgba(57, 106, 79);
    }

    .rd-navbar-fixed .rd-navbar-brand img {
        max-width: 100px;
        max-height: 100px;
    }

    .rd-navbar-main .rd-navbar-social {
        display: none;
    }

    .rd-navbar-panel {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        height: 100px !important;
        position: relative;
        max-height: 100px !important;
    }

    .rd-navbar-toggle {
        order: 1;
        margin: 0 15px;
        z-index: 2;
        flex: 0 0 auto;
    }

    .rd-navbar-brand {
        order: 2;
        position: absolute !important;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
        flex: 0 0 auto;
    }

    .rd-navbar-panel .mobile-social {
        order: 3;
        display: flex;
        margin-right: 15px;
        z-index: 2;
        flex: 0 0 auto;
        gap: 15px;
    }

    .rd-navbar-panel .mobile-social img {
        width: 22px;
        height: 22px;
        filter: brightness(0) invert(1);
    }

    .rd-navbar-panel .mobile-social .tiktok {
        height: 18px;
    }

    .rd-navbar-nav-wrap {
        position: fixed;
        top: 100px !important;
        left: 0;
        width: 100%;
        background: rgba(57, 106, 79, 0.95);
        backdrop-filter: blur(10px);
        padding: 20px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
        transform: translateY(-100%);
        transition: transform 0.3s ease;
        z-index: 999;
        height: 420px;
    }

    .rd-navbar-nav-wrap.active {
        transform: translateY(0);
    }

    .rd-navbar-fixed .rd-navbar-nav { margin: 0;}

    .rd-navbar-fixed .rd-navbar-nav-wrap {
        padding: 0;
        height: 340px;
        background: rgba(57, 106, 79, 0.95);
    }

    .rd-navbar-fixed .rd-navbar-nav-wrap a { border-bottom: none;}

    .rd-navbar-nav {
        flex-direction: column;
        align-items: center;
        background: rgba(57, 106, 79);
    }

    .rd-nav-item {
        margin: 0;
        width: 100%;
        text-align: center;
    }

    .rd-nav-link {
        display: block;
        padding: 15px;
        font-size: 18px;
        color: white !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .rd-nav-link:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .container {
        max-width: 700px;
    }

    .production-section {
        margin-top: -50px;
        padding: 1px 0 30px;
    }

    .production-section .col-md-4 {
        margin: 0;
    }

    .production-img-container { width: 360px; height: 360px; }

    .somosFabricantesTexto,
    .somosFabricantesTexto1 .somosFabricantesTexto3 { font-size: 16px;}

    .somosFabricantesTexto2 { padding: 15px 25px !important; }

    .production-text { margin-top: 0;}

    .hacemosRealidad .row { margin-top: 15px;}

    .production-text-container,
    .production-img-container {
        min-height: 280px;
        margin-bottom: 30px;
    }

    #our-projects {
        padding: 80px 0;
    }

    .btn-nuestros-productos {
        padding: 10px 25px;
        font-size: 0.9rem;
        margin: 0 5px;
    }

    .button-inside-image {
        bottom: 15px;
    }

    #contenido-hacemos .heading-1 { font-size: 30px;}

    .nuestrosProductos-section .owl-nav .owl-prev {
        left: 0 !important;
    }

    .nuestrosProductos-section .owl-nav .owl-next {
        right: 0 !important;
    }

    .somosFabricantes-section {
        margin-top: 0;
        padding: 70px 0 30px;
        /* margin-bottom: 50px; */
    }

    .somosFabricantes-section .row-40 .col-md-6 {
        display: flex;
        justify-content: center;
        margin: 0;
    }

    .somosFabricantes-text-container {
        width: 100%;
        height: auto;
        margin: 0;
    }

    .somosFabricantes-text-container .somosFabricantes-title,
    .somosFabricantes-text-container .somosFabricantes-text {
        text-align: center;
    }

    #faq { padding: 40px 0;}

    .faq .col-xl-12 .row { display: block; justify-items: center;}

    #faq .col-xl-12 .col-md-6:first-child { margin-bottom: 0;}

    .faq-left-content {
        padding-right: 0;
        margin-bottom: 30px;
        text-align: center;
    }

    .faq-main-title {
        font-size: 2.5rem;
    }

    .faq-subtitle {
        font-size: 1.1rem;
    }

    .contacts-header { margin-bottom: 0;}

    .contacts-header h6, .contacts-header h2 { text-align: center !important;}

    .contacts-form .contacts-submit-btn { text-align: center; margin-bottom: 20px;}

    .contacts-form-column { padding-bottom: 0 !important;}

    .contacts-info-column {
        flex-direction: column;
        background: linear-gradient(to bottom, #e8e0c1 35%, #246b4c 100%);
    }

    .contact-info-icon {fill: #246b4c; }

    .contacts-info-section {
        flex: 0 0 auto;
        padding: 20px;
        background: transparent;
        padding-top: 0 !important;
        text-align: center;
    }

    .contact-info-text { color: #246b4c;}

    .contacts-map-section {
        flex: 0 0 300px;
    }

    .contacts-map-section iframe {
        border-radius: 50px;
        padding: 20px;}

    .rd-contact-social {
        margin-top: 30px;
        justify-content: center;
    }

    .contact-info-item {
        justify-content: center;
    }

    .modal-container {
        padding: 30px 20px;
    }

    .modal-content h3 {
        font-size: 1.3rem;
    }

    .custom-nav-arrow {
        width: 10px;
    }

    .custom-nav-arrow img {
        width: 20px;
        height: 20px;
    }
}

/* 576px */
@media (max-width: 576px) {
    .rd-navbar-static .rd-navbar-brand {
        max-width: 90px;
    }

    .rd-navbar-panel {
        height: 90px !important;
    }

    .rd-navbar-nav-wrap {
        top: 90px;
    }

    .video-background-container {
        min-height: 500px;
    }

    .production-section {
        margin-top: -30px;
        padding: 0 0 20px;
    }

    .production-text-container,
    .production-img-container {
        width: 90%;
        min-height: 240px;
    }

    .nuestrosProductos-title h2 {
        font-size: 1.5rem;
    }

    .nuestrosProductos-img-container {
        width: 250px;
        height: auto;
        min-height: 350px;
    }

    .button-inside-image {
        bottom: 10px;
    }

    .btn-nuestros-productos {
        padding: 8px 20px;
        font-size: 0.8rem;
        font-weight: 400;
    }

    .somosFabricantes-section {
        margin-top: 0;
        padding: 20px 0 !important;
    }

    .somosFabricantes-title {
        font-size: 1.5rem;
    }

    .tuBolsa-title h2 {
        font-size: 1.5rem;
    }

    .faq-main-title {
        font-size: 2rem;
    }

    .faq-subtitle {
        font-size: 1rem;
    }

    .contacts-form-column {
        padding: 20px 15px;
    }

    .contacts-header h6 {
        font-size: 1.5rem;
    }

    .contacts-header h2 {
        font-size: 1rem;
    }

    .form-row {
        flex-direction: column;
        gap: 0;
        margin-bottom: 0;
    }

    .contact-info-text a,
    .contact-info-text p {
        font-size: 16px;
    }

    .modal-container {
        width: 95%;
        padding: 25px 15px;
    }

    .modal-content h3 {
        font-size: 1.2rem;
    }

    .modal-content p {
        font-size: 0.9rem;
    }

    #wppwidget {
        bottom: 20px;
        right: 20px;
    }

    #wppwidget .btn-whatsapp {
        width: 45px;
        height: 45px;
    }

    #wppwidget img {
        width: 25px;
        margin: 10px;
    }

    footer .container {
        justify-items: center;
    }

    .lupe { display: block;}
}


/* 480px */
@media (max-width: 480px) {
    .rd-navbar-panel .mobile-social {
        gap: 10px;
    }

    .rd-navbar-panel .mobile-social img {
        width: 18px;
        height: 18px;
    }

    .rd-navbar-panel .mobile-social .tiktok {
        height: 15px;
    }

    .btn-nuestros-productos {
        padding: 7px 18px;
        font-size: 0.75rem;
    }

    .contacts-info-section {
        padding: 15px;
    }

    .contact-info-text a,
    .contact-info-text p {
        font-size: 14px;
    }

    .contacts-map-section {
        flex: 0 0 250px;
    }
}


@media (max-width: 425px) {
  .nuestrosProductos-img-container {
    max-width: 280;
  }

}


@media (max-width: 768px) {
  /* Aplicar solo a los carruseles específicos */

    .products-carousel .owl-stage {
    display: flex;
    margin: 0 auto;
  }

  .products-carousel .owl-item {
    display: block;
    justify-content: center;
    /* width: 100% !important; */
    margin: 0 20px !important;
  }

  /* Contenedores de imágenes */
  .nuestrosProductos-img-container {
    /* width: 85% !important; */
    margin: 0 auto;
  }

  /* Navegación específica para estos carruseles */
  .products-carousel .owl-nav {
    display: flex !important;
    justify-content: space-between;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
    padding: 0 10px;
  }

  .products-carousel .owl-prev,
  .products-carousel .owl-next {
    pointer-events: all;
    position: static;
    margin: 0;
    transform: none;
  }

  /* Asegurar que las flechas estén bien posicionadas */
  .products-carousel .owl-prev {
    margin-left: -8px;
  }

  .products-carousel .owl-next {
    margin-right: -8px;
  }

    .owl-carousel.owl-loaded {
    display: block;
    justify-items: stretch;
    overflow: hidden;
    }
}

/* Para pantallas muy pequeñas */
@media (max-width: 480px) {

  .products-carousel .owl-prev {
    margin-left: -10px;
  }

  .products-carousel .owl-next {
    margin-right: -10px;
  }
}
/* Reducir altura del header */
.rd-navbar-wrap {
  height: 80px !important;
  /* Cambiado de 120px a 80px */;
}

.rd-navbar-panel {
  height: 90px !important;
}

.rd-navbar-static .rd-navbar-brand {
  max-width: 120px;
}

/* Ajustar posición del menú en móvil */
@media (max-width: 768px) {
    .rd-navbar-nav-wrap {
        top: 80px !important; /* Ajustado según nueva altura */
    }

    .rd-navbar-panel {
        height: 100px !important;
        max-height: 100px;
    }
}
/* CONFIGURACIÓN OPTIMIZADA DEL CARRUSEL DE PRODUCTOS */
.products-carousel .owl-item {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* .products-carousel .owl-stage {
  display: flex !important;
  gap: 20px !important;
} */

.products-carousel .owl-stage-outer {
  overflow: visible !important;
}

.contacts-map-section iframe {
  border-radius: 50px;
  padding: 20px;
}


 /* N U E S T R O S  P R O D U C T O S - MODIFICACIONES RESPONSIVE */
 
.nuestrosProductos-img-container {
  width: 100%;
  max-width: 280px;
  height: auto;
  aspect-ratio: 3/4;
  border-radius: 80px;
  overflow: hidden;
  margin: 0;
  position: relative;
}

/* 768px */
@media (max-width: 768px) {
  .nuestrosProductos-img-container {
    max-width: 250px;
    border-radius: 60px;
    margin: 0 auto;
  }

  .products-carousel .owl-item {
    margin: 0 15px !important;
  }

  .btn-nuestros-productos {
    padding: 8px 18px;
    font-size: 0.85rem;
  }
}

/* 576px */
@media (max-width: 576px) {
  .nuestrosProductos-img-container {
    max-width: 220px;
    border-radius: 50px;
    min-height: 300px;
  }

  .button-inside-image {
    bottom: 15px;
  }

  .btn-nuestros-productos {
    padding: 7px 16px;
    font-size: 0.8rem;
  }

  .products-carousel .owl-item {
    margin: 0 10px !important;
  }
}

/* 480px */
@media (max-width: 480px) {
  .nuestrosProductos-img-container {
    max-width: 200px;
    border-radius: 40px;
    min-height: 270px;
  }

  .btn-nuestros-productos {
    padding: 6px 14px;
    font-size: 0.75rem;
  }

  .products-carousel .owl-item {
    margin: 0 8px !important;
  }
}

/* 425px */
@media (max-width: 425px) {
  .nuestrosProductos-img-container {
    max-width: 180px;
    border-radius: 35px;
    min-height: 240px;
  }

  .btn-nuestros-productos {
    padding: 5px 12px;
    font-size: 0.7rem;
  }

  .button-inside-image {
    bottom: 10px;
  }
}

/* 375px */
@media (max-width: 375px) {
  .nuestrosProductos-img-container {
    max-width: 160px;
    border-radius: 30px;
    min-height: 210px;
  }

  .btn-nuestros-productos {
    padding: 4px 10px;
    font-size: 0.65rem;
  }
}

#generic-modal-text .text-danger,#generic-modal-text .btn-danger{color:#246b4c!important}