@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
.montserrat-<uniquifier> {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

.campaign-body{background:#ececec;font-family:Montserrat,Arial,sans-serif;}
.campaign-wrap{background:#fff;padding:0 0 0px}
.campaign-content{max-width:1280px;margin-left:auto;margin-right:auto}
.campaign-header,.campaign-footer{background:#790000;color:#fff;padding:16px}
.campaign-header{position:relative;overflow:hidden;margin-bottom:8px}
.campaign-header-inner{align-items:center!important;padding-top:4px;padding-bottom:4px}
.campaign-header-wa{--wa-block-width:245px;display:flex;flex-direction:column;align-items:center;gap:8px;min-width:var(--wa-block-width);width:var(--wa-block-width)}
.campaign-header-wa-title{font-weight:800;color:#f8e6ab;font-size:12px;letter-spacing:.2px;text-transform:uppercase;text-align:center;width:var(--wa-block-width)}
.campaign-header-wa-btn{background:#f7df9f;border-radius:14px;padding:5px 5px;width:var(--wa-block-width);display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none}
.campaign-header-wa-icon{width:30px;height:30px;border-radius:50%;border:2px solid #b92229;color:#b92229;display:flex;align-items:center;justify-content:center;font-size:17px}
.campaign-header-wa-number{font-size:25px;line-height:1;font-weight:500;color:#c5292f;letter-spacing:.4px}
.campaign-header-wa-email{color:#fff5d1;font-size:10px;text-decoration:underline;font-weight:700;text-align:center;width:var(--wa-block-width);text-decoration:none;}

.campaign-header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:linear-gradient(90deg,#78170E 0%,#f3b34e 50%,#78170E 100%)}
.campaign-logo{max-height:86px}.campaign-logo-sm{max-height:42px}
.campaign-hero{position:relative;overflow:hidden}.campaign-hero-overlay{position:absolute;left:0;bottom:0;padding:16px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));width:100%}
.campaign-title{font-weight:bold;background:#b30000;background-image:var(--campaign-section-title-bg);background-size:cover;background-position:center;color:#f8cf30;font-size:1.5rem;text-transform:uppercase;text-align:center;padding:8px;margin-bottom:14px;
box-shadow: 8px 8px 14px rgba(0,0,0,.28);}
.campaign-card{background:#b30000;border-radius:14px;overflow:hidden;box-shadow:0 6px 14px rgba(0,0,0,.2);transition:.25s transform}.campaign-card:hover{transform:translateY(-4px)}
.campaign-card h3{font-size:1rem;color:#fff}.campaign-about{background:#f8f3ce;padding:14px}
.campaign-banner{background:#111;color:#f8cf30}.campaign-banner a{color:inherit;text-decoration:none}
.campaign-floating-wa{text-decoration:none;position:fixed;right:16px;bottom:86px;background:#25d366;color:#fff;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;z-index:20}
@media(min-width:768px){.campaign-wrap{border-radius:0;overflow:hidden;padding-bottom:0px}}
@media(max-width:1200px){.campaign-logo{max-height:74px}.campaign-header-wa{--wa-block-width:380px;min-width:var(--wa-block-width);width:var(--wa-block-width)}.campaign-header-wa-number{font-size:42px}}
@media(max-width:767px){.campaign-header-inner{align-items:center!important}.campaign-logo{max-height:60px}.campaign-header-wa{--wa-block-width:100%;align-items:center;min-width:0;width:100%;gap:6px}
.campaign-header-wa-btn{width:50%;max-width:220px;border-radius:12px;padding:4px 6px;gap:9px}.campaign-header-wa-icon{width:26px;height:26px;font-size:15px}.campaign-header-wa-number{font-size:16px;letter-spacing:.2px}.campaign-header-wa-title{font-size:11px}.campaign-header-wa-email{font-size:10px}.campaign-title{font-size:1.15rem;padding:7px;margin-bottom:12px}.campaign-hero-overlay h1{font-size:1.45rem;line-height:1.2}.campaign-hero-overlay p{font-size:.95rem;line-height:1.35}}

/* Sección Viviendas Industrializadas */
.industrializadas-section {
  background: #fff;
  padding: 12px 0 28px;
}

.industrializadas-inner {
  margin: 0 auto;
}

.industrializadas-header {
	box-shadow: 8px 8px 14px rgba(0,0,0,.28);
    padding: 14px 18px;
    margin-bottom: 26px;
    border-radius: 0;
    background-color: #b70606;
    background-image: var(--campaign-section-title-bg);
    background-size: cover;
    background-repeat: repeat;
    background-position: center;
    color: #ffe600;
    font-weight: 700;
    letter-spacing: .5px;
    font-size: 1.5rem;
    text-align: center;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .18);
}

.industrializadas-featured {
    position: relative;
    background: transparent;
    border-radius: 0;
    overflow: visible;
    box-shadow: none;
    padding: 101px 52px 90px;
    margin-top: -50px;
}

.industrializadas-featured-media-wrap {
  /* Crop target for admin-generated horizontal model images: 16:9. */
  aspect-ratio: 16 / 9;
  position: relative;
  z-index: 2;
  border-radius: 34px;
  overflow: hidden;
  box-shadow: 0px 20px 18px rgba(0, 0, 0, .22);

  width: 92%;
  margin: 0 auto;
}

.industrializadas-featured img {
    width: 100%;
    height: 100%;
    display: block;
    /*max-height: 500px;*/
    object-fit: cover;
    border-radius: 0px;
    margin-top: 24px!important;
    border-top-right-radius: 25px;
    border-top-left-radius: 25px;
}

.industrializadas-featured-model {
	font-family: 'Chinese Rocks';
  position: absolute;
  top: 37px;
  left: 45px;
  margin: 0;
  color: #ffe600;
  text-transform: uppercase;
  font-weight: 900;
  font-size: clamp(1.4rem, 2.4vw, 2.2rem);
  text-shadow: 0 2px 4px rgba(0,0,0,.6);
}

.industrializadas-featured-metros-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #ffe600;
  padding: 9px 20px;
}

.industrializadas-featured-metros {
  color: #171717;
  font-size: clamp(1.05rem, 1.5vw, 1.65rem);
  font-weight: 900;
  line-height: 1.1;
}

.industrializadas-decor {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.industrializadas-decor-svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible;
}

.industrializadas-decor .decor-line {
  fill: none;
  stroke: #9d1717;
  stroke-width: 4;
  stroke-linecap: square;
  stroke-linejoin: miter;
}




.industrializadas-grid {
    row-gap: 22px;
    padding: 0px 50px 18px 51px;
	
}

.industrializadas-carousel {
  position: relative;
  overflow: hidden;
  padding: 32px 64px 36px;
  margin-top: -75px;
}

.industrializadas-carousel-control {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 48px;
  height: 48px;
  border: 3px solid #ffe600;
  border-radius: 50%;
  background: #a90000;
  color: #ffe600;
  box-shadow: 0 8px 18px rgba(0,0,0,.28);
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.industrializadas-carousel-control:hover,
.industrializadas-carousel-control:focus {
  background: #ffe600;
  color: #a90000;
  transform: translateY(-50%) scale(1.08);
  outline: none;
}

.industrializadas-carousel-control-prev { left: 14px; }
.industrializadas-carousel-control-next { right: 14px; }

@media(min-width:992px) {
  .industrializadas-grid {
    --industrializadas-visible-cards: 4;
    --industrializadas-card-gap: 18px;
    --industrializadas-card-width: calc((100% - (var(--industrializadas-card-gap) * (var(--industrializadas-visible-cards) - 1))) / var(--industrializadas-visible-cards));
    display: flex;
    flex-wrap: nowrap;
    gap: var(--industrializadas-card-gap);
    margin-left: 0;
    margin-right: 0;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    scroll-padding-inline: 0;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .industrializadas-grid::-webkit-scrollbar {
    display: none;
  }

  .industrializadas-grid > [class*="col-"] {
    flex: 0 0 var(--industrializadas-card-width);
    max-width: var(--industrializadas-card-width);
    padding: 4px 6px 10px;
    scroll-snap-align: start;
  }
}
.industrializadas-card {
  position: relative;
  background: #a90000;
  border-radius: 18px;
  padding: 16px 16px 24px;
  box-shadow: 8px 8px 14px rgba(0,0,0,.28);
  height: 100%;
  border: 0;
  overflow: hidden;
}

.industrializadas-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 3px solid transparent;
  border-radius: 18px;
  pointer-events: none;
  transition: border-color .2s ease, box-shadow .2s ease;
  z-index: 3;
}

.industrializadas-card-selected {
  position: absolute;
  top: 13px;
  right: 13px;
  z-index: 4;
  width: 16px;
  height: 16px;
  background: #ffe600;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(255,230,0,.36),0 4px 10px rgba(0,0,0,.25);
  opacity: 0;
  transform: scale(.75);
  transition: opacity .2s ease, transform .2s ease;
}

.industrializadas-card-image-wrap {
  position: relative;
  aspect-ratio: 1.08 / 1;
  border-radius: 22px;
  overflow: hidden;
}

.industrializadas-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Pastilla amarilla superpuesta */
.industrializadas-card-label {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  width: 82%;
  min-height: 38px;
  background: #ffe600a8;
  color: #111;
  text-align: center;
  padding: 6px 10px 7px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  box-shadow: 0 4px 8px rgba(0,0,0,.25);
  z-index: 2;
}

.industrializadas-card-label h3 {
  margin: 0;
  font-size: clamp(.95rem, 1.3vw, 1.25rem);
  font-weight: 900;
  color: #111;
  line-height: 1.05;
}

.industrializadas-card-label p {
  display: inline;
  margin: 0;
  font-size: clamp(.82rem, 1vw, 1rem);
  font-weight: 900;
  color: #111;
  line-height: 1.05;
  white-space: nowrap;
}

.industrializadas-card-label p::before {
  content: "· ";
}


.campaign-card.model-trigger{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.campaign-card.model-trigger:hover{filter:saturate(1.05)}
.campaign-card.model-trigger.is-active {
    transform: translateY(-10px) scale(1.025);
    box-shadow: 0 11px 9px rgba(110, 0, 0, .42), 0 0 0 6px rgba(255, 230, 0, .18);
}
.campaign-card.model-trigger.is-active::before{border-color:#ffe600;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)}
.campaign-card.model-trigger.is-active .industrializadas-card-selected{opacity:1;transform:scale(1)}
.campaign-card.model-trigger .industrializadas-card-image-wrap::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(115deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.28) 48%,rgba(255,255,255,0) 66%);
  transform: translateX(-135%);
}
.campaign-card.model-trigger.is-active .industrializadas-card-image-wrap::after {
  opacity: 1;
  animation: activeCardShine 1.05s ease-out;
}
.campaign-card.model-trigger.is-active .industrializadas-card-image-wrap img {
  animation: activeCardImagePop .45s ease-out;
}

@keyframes activeCardShine {
  0% { transform: translateX(-135%); }
  100% { transform: translateX(125%); }
}

@keyframes activeCardImagePop {
  0% { transform: scale(1); filter: saturate(.95); }
  65% { transform: scale(1.04); filter: saturate(1.06); }
  100% { transform: scale(1.02); filter: saturate(1.02); }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-card.model-trigger,
  .campaign-card.model-trigger .industrializadas-card-image-wrap::after,
  .campaign-card.model-trigger.is-active .industrializadas-card-image-wrap img,
  .industrializadas-carousel-control,
  .industrializadas-card-selected {
    animation: none !important;
    transition: none !important;
  }
}




@media(max-width:991px) {
  .campaign-header-inner{
    justify-content:center!important;
    text-align:center;
  }

  .industrializadas-featured {
    display:none;
  }

  .industrializadas-carousel {
    overflow: visible;
    padding: 0;
    margin-top: 0;
  }

  .industrializadas-carousel-control {
    display:none;
  }

  .industrializadas-grid{
    margin-top:0;
    padding:0 16px;
    row-gap:16px;
  }

  .industrializadas-card{
    max-width:340px;
    margin:0 auto;
  }
}

.industrializadas-decor .decor-line {
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: drawIndustrialLine 1.25s ease-out forwards;
}

.industrializadas-decor .decor-line:nth-child(1) {
  animation-delay: .15s;
}

.industrializadas-decor .decor-line:nth-child(2) {
  animation-delay: .45s;
}

.industrializadas-decor .decor-line:nth-child(3) {
  animation-delay: .35s;
}

.industrializadas-decor .decor-line:nth-child(4) {
  animation-delay: .65s;
}

@keyframes drawIndustrialLine {
  to {
    stroke-dashoffset: 0;
  }
}

.industrializadas-featured-media-wrap {
  animation: featuredCardIn .7s ease-out both;
}

@keyframes featuredCardIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}



@media(max-width:767px) {
  .industrializadas-inner {
    padding: 0 10px;
  }

  .industrializadas-header {
    margin-bottom: 18px;
    padding: 12px 10px;
    font-size: 1.1rem;
  }

  .industrializadas-featured {
    padding: 24px 12px 38px;
  }

  .industrializadas-featured-media-wrap,
  .industrializadas-featured img {
    border-radius: 20px;
  }

  .industrializadas-featured-model {
    top: 14px;
    left: 14px;
    font-size: 1.18rem;
  }

  .industrializadas-featured-metros-wrap {
    padding: 8px 14px;
  }

  .industrializadas-decor .decor-line {
    stroke-width: 3;
  }

  .industrializadas-card {
    padding: 8px;
  }

  .industrializadas-card-label h3 {
    font-size: .95rem;
  }

  .industrializadas-card-label p {
    font-size: .82rem;
  }
}
/* Sección Acerca de nuestros productos */
.campaign-about{
	
  --about-bg-color:#f5efc8;
  --about-bg-image:none;
  --about-header-bg:#a90505;
  --about-header-bg-image:var(--campaign-section-title-bg, none);
  --about-title-color:#ffe13a;
  --about-text-color:#111;
  background-color:var(--about-bg-color);
  background-image:var(--about-bg-image);
  background-size:auto;
  background-repeat:repeat;
  background-position:center;
  padding:0 16px 16px;
  overflow:hidden;
  position:relative;
  animation:aboutSectionFadeIn .7s ease-out both;
}

.campaign-about-title{
	box-shadow: 8px 8px 14px rgba(0,0,0,.28);
  margin:0 -16px 14px;
  border-radius:0;
  padding:10px 12px;
  background-color:var(--about-header-bg);
  background-image:var(--about-header-bg-image);
  background-size:cover;
  background-repeat:repeat;
  background-position:center;
  color:var(--about-title-color);
  font-size:1.5rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.2px;
}

.campaign-about-content{margin:0;}

.campaign-about-content > .col-12.col-lg-5{
  padding-left:0;
}

.campaign-about-content > .col-12.col-lg-7{
  padding-right:0;
}

.campaign-about-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
  background:rgba(255,255,255,.35);
}
.campaign-about-gallery .col-6{
  width:100%;
  max-width:none;
  padding:0;
  border:1px solid rgba(255,255,255,.35);
}
.campaign-about-gallery--single{
  grid-template-columns:minmax(0,1fr);
}
.campaign-about-gallery--single .col-6{
  flex:0 0 100%;
  max-width:100%;
  width:100%;
}
.campaign-about-gallery img{
  width:100%;
  height:100%;
  min-height:150px;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
  display:block;
}
.campaign-about-gallery img{animation:aboutImageLift .85s ease-out both}

.campaign-about-text{
  background:rgba(255,255,255,.86);
  border:0;
  border-radius:4px;
  color:var(--about-text-color);
  padding:18px 24px;
  box-shadow:none;
  font-size:18px;
  line-height:1.62;
}
.campaign-about-text p{margin:0 0 1rem;color:var(--about-text-color);text-decoration:none}
.campaign-about-text p:last-child{margin-bottom:0}
.campaign-about-text *{
    color: var(--about-text-color);
        font-size: 16.3px !important;
    line-height: 1.95 !important;
}
.campaign-about-text a{color:inherit!important;text-decoration:none!important;}

.campaign-about-text{animation:aboutTextFade .95s ease-out both}

@keyframes aboutSectionFadeIn{
  from{opacity:.01;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
@keyframes aboutImageLift{
  from{opacity:.01;transform:translateX(-8px) scale(.99)}
  to{opacity:1;transform:none}
}
@keyframes aboutTextFade{
  from{opacity:.01;transform:translateX(8px)}
  to{opacity:1;transform:none}
}

@media (prefers-reduced-motion: reduce){
  .campaign-about,
  .campaign-about-gallery img,
  .campaign-about-text{animation:none}
}

@media(max-width:991px){
  .campaign-about{padding:0 12px 12px;}
  .campaign-about-title{margin:0 -12px 10px;font-size:1.5rem}
  .campaign-about-text{font-size:15px;line-height:1.32;padding:12px 14px}
  .campaign-about-text *{font-size:15px !important;line-height:1.32 !important}
}

@media(max-width:767px){
  .campaign-about-title{font-size:1.1rem;padding:10px;background-size:cover}
  .campaign-about-gallery{margin-bottom:8px;grid-template-columns:1fr}
  .campaign-about-gallery img{min-height:180px}
}

@font-face {
  font-family: 'Chinese Rocks';
  src: url('../fonts/CHINESE ROCKS RG.OTF') format('opentype');
  font-display: swap;
}

.campaign-banner-cta { background: transparent; }
.campaign-banner-cta-link {
	
  position: relative;
  min-height: clamp(210px, 34vw, 420px);
  display: block;
  background-size: cover;
  background-position: center center;
  overflow: hidden;
  text-decoration: none;
}
.campaign-banner-cta-link::before {
  content: '';
  position: absolute;
  inset: 0;
  background: inherit;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 6s ease;
  animation: campaignBannerZoom 12s ease-in-out infinite alternate;
  
}
.campaign-banner-cta-link:hover::before { transform: scale(1.06); }
.campaign-banner-cta-overlay {
	text-align:center;
	
  position: relative;
  z-index: 2;
  background: rgba(0,0,0,.62);
  padding: clamp(14px,2vw,28px) clamp(16px,2.6vw,42px);
  margin-top: clamp(12px,1.2vw,20px);
  
}
.campaign-banner-cta-overlay h3 {
	
  margin: 0;
  color: #ffe600;
  font-family: 'Chinese Rocks','Impact','Montserrat,Arial Black',sans-serif;
  text-transform: uppercase;
  font-size: clamp(1.1rem,2.8vw,2.6rem);
  letter-spacing: .08em;
  line-height: 1.05;
  transform: translateY(8px);
  opacity: 0;
  animation: campaignBannerTextIn .8s ease-out .15s forwards;
}
@keyframes campaignBannerZoom { from { transform: scale(1.01); } to { transform: scale(1.07); } }
@keyframes campaignBannerTextIn { to { transform: translateY(0); opacity: 1; } }

@media (max-width: 767px) {
  .campaign-banner-cta-link { min-height: 220px; }
  .campaign-banner-cta-overlay { margin-top: 8px; padding: 12px 14px; }
  .campaign-banner-cta-overlay h3 { letter-spacing: .04em; line-height: 1.1; }
}

/* Sección Preguntas frecuentes */
.campaign-faq{
  background: #fff;
  padding: 0 0 18px;
}
.campaign-faq .accordion{
  max-width: 820px;
  margin: 0 auto;
}
.campaign-faq .accordion-item{
  border: 0;
  background: transparent;
  margin-bottom: 14px;
}
.campaign-faq .accordion-header{
  margin: 0;
}
.campaign-faq .accordion-button{
  border: 0;
  border-radius: 12px !important;
  background: linear-gradient(90deg, #c8c6c6 0%, #3f3f3f 55%, #242424 100%);
  color: #fff;
  padding: 8px 18px;
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.2;
  box-shadow: 0 6px 16px rgba(0,0,0,.28);
}
.campaign-faq .accordion-button:not(.collapsed){
  color: #fff;
  background: linear-gradient(90deg,#c8c6c6 0%,#3a3a3a 55%,#1e1e1e 100%);
  box-shadow: 0 8px 16px rgba(0,0,0,.35);
}

.campaign-faq .campaign-faq-questions .accordion-item{
  background: #f2edc7;
  border-radius: 16px;
  padding: 10px 12px;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.campaign-faq .campaign-faq-question-button{
  background: #f2edc7;
  color: #9b0000 !important;
  box-shadow: none;
}
.campaign-faq .campaign-faq-question-button:not(.collapsed){
  background: #f2edc7;
  color: #9b0000 !important;
  box-shadow: none;
}
.campaign-faq .campaign-faq-question-button::after{
  filter: invert(10%) sepia(91%) saturate(4200%) hue-rotate(356deg) brightness(81%) contrast(109%) !important;
}
.campaign-faq .campaign-faq-question-button--static{
  cursor: default;
}
.campaign-faq .campaign-faq-question-button--static::after{
  display: none;
}

.campaign-faq .accordion-button:focus{
  box-shadow: 0 6px 16px rgba(0,0,0,.28);
  outline: none;
}
.campaign-faq .accordion-button::after{
  filter: brightness(0) invert(1);
}
.campaign-faq .accordion-body{
  margin-top: 10px;
  padding: 12px 14px;
  background: #f2edc7;
  border-radius: 16px;
  color: #777;
  box-shadow: 0 3px 10px rgba(0,0,0,.12);
  font-size: 1.03rem;
  line-height: 1.35;
}
.campaign-faq .accordion-button,
.campaign-faq .accordion-button *{
  color: #fff !important;
  text-decoration: none;
}
.campaign-faq .campaign-faq-question-button,
.campaign-faq .campaign-faq-question-button *{
  color: #9b0000 !important;
}
.campaign-faq .accordion-body,
.campaign-faq .accordion-body *{
  color: #777 !important;
}

@media(max-width:767px){
  .campaign-faq .accordion-button{
    font-size: .96rem;
    padding: 9px 12px;
  }
  .campaign-faq .accordion-body{
    font-size: .95rem;
    border-radius: 12px;
  }
}

.campaign-footer-wrap{margin-top:8px}
.campaign-footer-line{height:6px;background:linear-gradient(90deg,#78170E 0%,#f3b34e 50%,#78170E 100%)}
.campaign-footer{background:#790000;color:#fff;padding:16px}
.campaign-footer-inner{margin:0 auto}
.campaign-footer-logo{max-height:86px}
.campaign-footer-wa-block{margin:0 auto}
.campaign-footer-wa-email{text-decoration:none}
.campaign-footer-wa{display:inline-flex;align-items:center;gap:10px;color:#f7df9f;text-decoration:none;font-size:25px;font-weight:700}
.campaign-footer-wa:hover{color:#fff5d1}
.campaign-footer-social{display:inline-block;color:#f7df9f;font-size:1.5rem;margin-left:14px}
.campaign-footer-social:hover{color:#fff5d1}
@media(max-width:767px){.campaign-footer-social{margin:0 8px}.campaign-footer-logo{max-height:60px}}

.campaign-model-modal .modal-content{
  border-radius:16px;
  overflow:hidden;
}
.campaign-model-modal .modal-header{
  background:#b30000;
  color:#ffe600;
}
.campaign-model-modal .modal-title{
  font-weight:800;
  text-transform:uppercase;
}
.campaign-model-modal .modal-body{
  background:#fff5cc;
}
.campaign-model-modal-gallery{
  position:relative;
  margin-bottom:1rem;
  overflow:hidden;
  border-radius:12px;
  background:#240000;
}
.campaign-model-modal-gallery img{
  width:100%;
  max-height:70vh;
  object-fit:contain;
  display:block;
}
.campaign-model-modal-nav{
  position:absolute;
  top:50%;
  z-index:2;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(255,230,0,.9);
  color:#650000;
  transform:translateY(-50%);
  box-shadow:0 4px 12px rgba(0,0,0,.28);
}
.campaign-model-modal-nav:hover,
.campaign-model-modal-nav:focus{
  background:#fff06a;
  outline:2px solid #650000;
}
.campaign-model-modal-nav.is-hidden{
  display:none;
}
.campaign-model-modal-prev{left:12px;}
.campaign-model-modal-next{right:12px;}
.campaign-model-modal-counter{
  position:absolute;
  right:12px;
  bottom:12px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.64);
  color:#fff;
  font-weight:700;
  font-size:.85rem;
}
.campaign-model-modal-metros{
  font-weight:800;
}

.campaign-banner-cta-download{
  position:absolute;
  right:clamp(12px,2vw,24px);
  bottom:clamp(12px,2vw,24px);
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:linear-gradient(135deg,#ffe600 0%,#ffc800 100%);
  color:#2b1600;
  border:2px solid rgba(0,0,0,.25);
  box-shadow:0 8px 20px rgba(0,0,0,.35);
  border-radius:999px;
  padding:8px 16px 8px 10px;
  transform:translateZ(0) scale(1);
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.03em;
  animation:campaignBannerCtaPulse 1.65s ease-in-out infinite;
  will-change:transform,box-shadow;
}
.campaign-banner-cta-download-icon{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#8b0000;
  font-size:14px;
}
.campaign-banner-cta-download-text{
  font-size:clamp(.74rem,1.1vw,1rem);
  line-height:1;
  white-space:nowrap;
}
.campaign-banner-cta-link:hover .campaign-banner-cta-download{
  transform:translateZ(0) scale(1.04);
}
@keyframes campaignBannerCtaPulse{
  0%,100%{
    box-shadow:0 8px 20px rgba(0,0,0,.35),0 0 0 0 rgba(255,230,0,0);
  }
  50%{
    box-shadow:0 10px 24px rgba(0,0,0,.45),0 0 0 8px rgba(255,230,0,.18);
  }
}
@media (max-width: 767px){
  .campaign-banner-cta-download{
    right:10px;
    bottom:10px;
    padding:7px 11px 7px 8px;
    gap:8px;
    transform:translateZ(0) scale(1);
  }
  .campaign-banner-cta-download-icon{width:25px;height:25px;font-size:12px;}
  .campaign-banner-cta-download-text{font-size:.68rem;}
}

@media (min-width: 700px) and (max-width: 1000px) {
    .campaign-header-wa-number {
        font-size: 30px;
    }
	.campaign-header-wa-btn {
   
    width: 250px!important;
   
}

	.campaign-footer-inner{padding:5px;}
}

.industrializadas-featured-gallery-trigger {
  position: absolute;
  right: 16px;
  bottom: 62px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(109,0,0,.82);
  color: #ffe600;
  font-weight: 800;
  font-size: .82rem;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .02em;
  box-shadow: 0 6px 14px rgba(0,0,0,.28);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.industrializadas-featured-gallery-trigger:hover,
.industrializadas-featured-gallery-trigger:focus {
  background: rgba(109,0,0,.95);
  box-shadow: 0 8px 18px rgba(0,0,0,.34);
  transform: translateY(-1px);
  outline: 2px solid rgba(255,230,0,.7);
  outline-offset: 2px;
}

.industrializadas-featured-gallery-trigger.is-empty {
  display: none;
}

.industrializadas-featured-media-wrap:has(.industrializadas-featured-gallery-trigger:not(.is-empty)) {
  cursor: pointer;
}

@media(max-width:767px) {
  .industrializadas-featured-gallery-trigger {
    right: 12px;
    bottom: 54px;
    padding: 8px 10px;
    font-size: .72rem;
  }

  .industrializadas-featured-gallery-trigger span {
    max-width: 0;
    overflow: hidden;
    white-space: nowrap;
  }
}


.industrializadas-featured-detail {
  position: relative;
  z-index: 2;
  width: 86%;
  margin: 14px auto 0;
  padding: 14px 18px;
  border-left: 4px solid #ffe600;
  border-radius: 0 14px 14px 0;
  background: rgba(255,255,255,.92);
  box-shadow: 8px 8px 14px rgba(0,0,0,.12);
  color: #151515;
}

.industrializadas-featured-summary,
.campaign-model-modal-summary {
  margin: 0 0 8px;
  font-weight: 800;
  line-height: 1.35;
}

.industrializadas-featured-description,
.campaign-model-modal-description {
  margin: 0;
  font-size: .95rem;
  line-height: 1.45;
}

.industrializadas-featured-features,
.campaign-model-modal-features {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
}

.industrializadas-featured-features li,
.campaign-model-modal-features li {
  background: #fff4a8;
  border: 1px solid rgba(169,0,0,.18);
  border-radius: 999px;
  color: #171717;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 6px 10px;
}

.industrializadas-featured-features strong,
.campaign-model-modal-features strong {
  color: #a90000;
  font-weight: 900;
}

.campaign-model-modal-features {
  margin-top: 12px;
}

@media(max-width:991px) {
  .industrializadas-featured-detail {
    display: none;
  }
}

/* Aparición sutil de secciones al hacer scroll: no cambia el layout, solo opacidad y desplazamiento visual. */
.campaign-reveal{
  opacity:1;
  transform:none;
}

.js-campaign-reveal .campaign-reveal{
  opacity:0;
  transform:translate3d(0, 18px, 0);
  transition:opacity .65s ease, transform .65s ease;
  will-change:opacity, transform;
}

.js-campaign-reveal .campaign-reveal.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce){
  .js-campaign-reveal .campaign-reveal{
    opacity:1;
    transform:none;
    transition:none;
    will-change:auto;
  }
}
