/* ============================================================
   CTA SECTION — cta-footer.css
   Prefijo único: ctaop- (CTA Origen Pasto)
   Escopado bajo #origenPastoCta para evitar conflictos
   con CSS de terceros / Bootstrap / otros componentes.
   ============================================================ */

   #origenPastoCta * { box-sizing: border-box; }

   #origenPastoCta.ctaop-section {
     position: relative;
     background: #EAD9C5; /* crema de fondo */
     overflow: hidden;
     font-family: 'Lora', Georgia, serif;
   
     /* full-bleed: rompe el .container del layout Yii2 y ocupa todo el viewport */
     width: 100vw;
     left: 50%;
     right: 50%;
     margin-left: -50vw;
     margin-right: -50vw;
     margin-bottom: -20px;
   }
   
   #origenPastoCta .ctaop-grid {
     display: grid;
     grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
     align-items: stretch;
     height: 380px;
     max-height: 380px;
   }
   
   /* ── COLUMNA IZQUIERDA: FOTO CON BORDE ONDULADO ─────────── */
   #origenPastoCta .ctaop-photo {
     position: relative;
     height: 380px;
     background-size: cover;
     background-position: center;
     clip-path: path('M0,0 H930 C895,45 985,75 940,110 C900,142 1000,170 945,205 C903,235 1002,265 948,300 C905,330 995,355 935,380 H0 Z');
   }
   
   @supports not (clip-path: path('M0,0')) {
     #origenPastoCta .ctaop-photo {
       clip-path: polygon(0 0, 92% 0, 96% 15%, 90% 30%, 97% 45%, 91% 60%, 96% 75%, 89% 90%, 93% 100%, 0 100%);
     }
   }
   
   #origenPastoCta .ctaop-leaves {
     position: absolute;
     top: 10px;
     right: 24px;
     width: 130px;
     height: auto;
     opacity: .25;
     pointer-events: none;
     z-index: 0;
   }
   
   /* ── COLUMNA DERECHA: CONTENIDO ──────────────────────────── */
   #origenPastoCta .ctaop-content {
     position: relative;
     z-index: 1;
     display: flex;
     flex-direction: column;
     justify-content: center;
     gap: 10px;
     padding: 20px 48px 20px 36px;
     height: 380px;
     overflow: hidden;
   }
   
   #origenPastoCta .ctaop-eyebrow {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 8px;
     font-family: 'Poppins', sans-serif;
     font-weight: 700;
     font-size: .72rem;
     letter-spacing: .05em;
     color: #1A4613;
   }
   #origenPastoCta .ctaop-eyebrow span { display: inline-flex; align-items: center; gap: 6px; }
   #origenPastoCta .ctaop-eyebrow svg { flex: 0 0 auto; }
   #origenPastoCta .ctaop-eyebrow .ctaop-dot { color: #C0532D; font-weight: 700; }
   
   #origenPastoCta .ctaop-title {
     margin: 0;
     font-family: 'Lora', Georgia, serif;
     font-weight: 600;
     font-size: clamp(1.3rem, 2vw, 1.7rem);
     line-height: 1.2;
     color: #1A4613;
   }
   #origenPastoCta .ctaop-title .ctaop-accent {
     color: #C0532D;
     display: inline-block;
     position: relative;
     padding-bottom: 3px;
   }
   #origenPastoCta .ctaop-title .ctaop-accent::after {
     content: "";
     position: absolute;
     left: 0;
     bottom: -1px;
     width: 100%;
     height: 1px;
     background: rgba(26,70,19,.35);
   }
   
   #origenPastoCta .ctaop-desc {
     margin: 0;
     font-family: 'Lora', Georgia, serif;
     font-size: .88rem;
     line-height: 1.45;
     color: #2b2b28;
   }
   #origenPastoCta .ctaop-desc strong { color: #1A4613; font-weight: 700; }
   
   #origenPastoCta .ctaop-btn {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 8px;
     align-self: flex-start;
     background: #1A4613;
     color: #fff;
     font-family: 'Poppins', sans-serif;
     font-weight: 700;
     font-size: .8rem;
     letter-spacing: .03em;
     text-decoration: none;
     padding: 11px 22px;
     border-radius: 40px;
     box-shadow: 0 6px 14px rgba(26,70,19,.25);
     transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
   }
   #origenPastoCta .ctaop-btn:hover {
     transform: translateY(-2px);
     box-shadow: 0 12px 26px rgba(26,70,19,.32);
     background: #163a10;
   }
   #origenPastoCta .ctaop-btn svg { flex: 0 0 auto; }
   
   #origenPastoCta .ctaop-benefits {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 8px;
     font-family: 'Poppins', sans-serif;
     font-weight: 600;
     font-size: .72rem;
     color: #1A4613;
     margin-top: 0;
   }
   #origenPastoCta .ctaop-benefits span { display: inline-flex; align-items: center; gap: 6px; }
   #origenPastoCta .ctaop-benefits .ctaop-dot { color: #C0532D; }
   
   #origenPastoCta .ctaop-signature {
     font-family: 'Caveat', cursive;
     font-weight: 600;
     font-size: 1.25rem;
     color: #1A4613;
     margin: 0;
     display: flex;
     align-items: center;
     gap: 6px;
   }
   #origenPastoCta .ctaop-signature .ctaop-underline {
     text-decoration: underline;
     text-decoration-color: #C0532D;
     text-decoration-thickness: 1.5px;
     text-underline-offset: 3px;
     color: #C0532D;
   }
   
   /* ── RESPONSIVE ───────────────────────────────────────────── */
   @media (max-width: 980px) {
     #origenPastoCta .ctaop-grid { grid-template-columns: 1fr; height: auto; max-height: none; }
     #origenPastoCta .ctaop-photo { clip-path: none; height: 220px; }
     #origenPastoCta .ctaop-content { height: auto; overflow: visible; padding: 28px 24px; }
     #origenPastoCta .ctaop-title { font-size: 1.4rem; }
   }
   
   @media (max-width: 480px) {
     #origenPastoCta .ctaop-eyebrow { font-size: .68rem; gap: 6px; }
     #origenPastoCta .ctaop-btn { width: 100%; }
     #origenPastoCta .ctaop-benefits { font-size: .7rem; }
   }