/**
 * Johnny Fly Fishing — Packs y Cursos
 * Estilos del componente. Fondo azul primario, contenedores diferenciados.
 */
.jpc-root{
  --jff-blue:#2f6f92;--jff-blue-d:#255a77;--jff-blue-x:#1e4a63;--jff-cream:#f0e7d8;--jff-ink:#1d2b33;
  font-family:"Karla",system-ui,sans-serif;background:var(--jff-blue);color:#fff;
  line-height:1.5;padding:clamp(80px,10vw,130px) 24px clamp(70px,8vw,110px);overflow:hidden;
}
.jpc-root a{color:#fff}
.jpc-root a:hover{color:var(--jff-cream)}
.jpc-in{max-width:1180px;margin:0 auto}
.jpc-head{text-align:center;max-width:900px;margin:0 auto clamp(40px,5vw,64px)}
.jpc-kicker{font-weight:800;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--jff-cream);margin:0}
.jpc-title{font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(36px,5.4vw,72px);line-height:.98;letter-spacing:-.01em;margin:20px 0 18px;text-wrap:balance}
.jpc-sub{font-size:clamp(16px,1.7vw,19px);color:rgba(255,255,255,.82);max-width:620px;margin:0 auto;text-wrap:pretty}

/* --- Bloque de precios --- */
.jpc-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,22px);margin-bottom:clamp(58px,7vw,92px)}
.jpc-quote{grid-column:1/-1;background:var(--jff-ink);color:#fff;border-radius:20px;padding:clamp(26px,3vw,42px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3vw,44px);align-items:center;box-shadow:0 26px 64px -24px rgba(12,28,38,.6)}
.jpc-quote h3{font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(26px,3.4vw,44px);line-height:1;margin:14px 0 12px;color:#fff}
.jpc-quote p{margin:0;color:rgba(255,255,255,.78);font-size:clamp(15px,1.5vw,18px);max-width:560px;text-wrap:pretty}
.jpc-quote-cta{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding-left:clamp(0px,2vw,24px);border-left:2px solid rgba(240,231,216,.22)}
.jpc-quote-cta small{font-weight:800;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--jff-cream);max-width:150px;line-height:1.4}
.jpc-tag{display:inline-block;font-weight:800;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--jff-blue-d);border:2px solid rgba(47,111,146,.32);padding:6px 13px;border-radius:999px}
.jpc-tag--light{color:var(--jff-cream);border-color:rgba(240,231,216,.4)}
.jpc-price{background:#fff;color:var(--jff-ink);border-radius:20px;padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;align-items:flex-start;gap:6px;box-shadow:0 24px 60px -24px rgba(12,28,38,.55);transition:transform .25s ease,box-shadow .25s ease}
.jpc-price:hover{transform:translateY(-6px);box-shadow:0 34px 70px -24px rgba(12,28,38,.65)}
.jpc-amount{display:block;font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;font-size:clamp(58px,7.6vw,96px);line-height:.88;letter-spacing:-.02em;color:var(--jff-blue);margin-top:clamp(18px,2.4vw,30px)}
.jpc-amount i{font-style:normal;font-size:.42em;vertical-align:.72em;margin-left:.06em}
.jpc-price h3{font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(17px,1.9vw,23px);line-height:1.1;margin:8px 0 0;color:var(--jff-ink)}
.jpc-price p{margin:4px 0 0;color:#51616c;font-size:clamp(14px,1.35vw,16px);text-wrap:pretty}
.jpc-price--alt{background:var(--jff-cream)}
.jpc-price--alt .jpc-amount{color:var(--jff-blue-d)}
.jpc-price--alt p{color:#5b5343}
@media (max-width:900px){.jpc-prices{grid-template-columns:repeat(2,minmax(0,1fr))}.jpc-price--alt{grid-column:1/-1}}
@media (max-width:640px){.jpc-prices{grid-template-columns:1fr}.jpc-quote{grid-template-columns:1fr}.jpc-quote-cta{align-items:flex-start;text-align:left;padding:18px 0 0;border-left:0;border-top:2px solid rgba(240,231,216,.22);width:100%}.jpc-quote-cta small{max-width:none}}

/* --- Packs y cursos --- */
.jpc-label{display:flex;align-items:center;gap:18px;margin:0 0 22px}
.jpc-label b{font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(17px,2vw,24px);letter-spacing:.06em}
.jpc-label small{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.65);white-space:nowrap}
.jpc-label .ln{flex:1;height:2px;background:rgba(255,255,255,.25);border-radius:2px}
.jpc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:clamp(14px,2vw,24px);margin-bottom:clamp(54px,6vw,80px)}
.jpc-card{position:relative;background:#fff;color:var(--jff-ink);border-radius:18px;padding:clamp(24px,2.6vw,34px);display:flex;flex-direction:column;gap:12px;box-shadow:0 24px 60px -24px rgba(12,28,38,.55);transition:transform .25s ease,box-shadow .25s ease}
.jpc-card:hover{transform:translateY(-6px);box-shadow:0 34px 70px -24px rgba(12,28,38,.65)}
.jpc-num{font-family:"Archivo Black","Arial Black",sans-serif;font-size:clamp(15px,1.6vw,19px);color:var(--jff-blue)}
.jpc-card h3{font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(19px,2.1vw,26px);line-height:1.08;margin:0;color:var(--jff-ink)}
.jpc-card p{margin:0;color:#51616c;font-size:clamp(14px,1.35vw,16.5px);text-wrap:pretty}
.jpc-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px}
.jpc-chip{font-weight:800;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;padding:7px 13px;border-radius:999px;border:2px solid rgba(47,111,146,.3);color:var(--jff-blue)}
.jpc-card--dark{background:var(--jff-ink);color:#fff}
.jpc-card--dark h3{color:#fff !important}
.jpc-card--dark p{color:rgba(255,255,255,.75)}
.jpc-card--dark .jpc-num{color:var(--jff-cream)}
.jpc-card--dark .jpc-chip{border-color:rgba(240,231,216,.35);color:var(--jff-cream)}
.jpc-flag{position:absolute;top:-13px;right:22px;background:var(--jff-cream);color:var(--jff-ink);font-weight:800;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;padding:7px 14px;border-radius:999px;box-shadow:0 8px 20px -6px rgba(12,28,38,.5)}
.jpc-course{position:relative;background:var(--jff-cream);color:var(--jff-ink);border-radius:18px;padding:clamp(26px,3vw,42px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(18px,3vw,40px);align-items:center;box-shadow:0 24px 60px -24px rgba(12,28,38,.55);margin-bottom:clamp(60px,7vw,96px)}
.jpc-course h3{font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;text-transform:uppercase;font-size:clamp(22px,2.8vw,34px);line-height:1.05;margin:6px 0 10px;color:var(--jff-ink)}
.jpc-course p{margin:0;color:#5b5343;font-size:clamp(14px,1.4vw,17px);max-width:560px;text-wrap:pretty}
.jpc-course .jpc-num{color:var(--jff-blue-d)}
.jpc-4{text-align:center;padding:0 clamp(6px,1.5vw,20px)}
.jpc-4 b{display:block;font-family:"Archivo Black","Arial Black",sans-serif;font-weight:400;font-size:clamp(64px,9vw,120px);line-height:.9;color:var(--jff-blue)}
.jpc-4 small{display:block;font-weight:800;font-size:clamp(10px,1.1vw,13px);letter-spacing:.22em;text-transform:uppercase;color:#5b5343;margin-top:6px}
.jpc-course .jpc-chips{padding-top:16px}
.jpc-course .jpc-chip{border-color:rgba(47,111,146,.35);color:var(--jff-blue-d)}
@media (max-width:640px){.jpc-course{grid-template-columns:1fr}.jpc-4{text-align:left}.jpc-4 b{font-size:64px}}

/* --- Cierre --- */
.jpc-contact{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(18px,3vw,40px);text-align:center;border-top:2px solid rgba(255,255,255,.22);padding-top:clamp(40px,5vw,60px)}
.jpc-contact p{margin:0;font-family:"Archivo Black","Arial Black",sans-serif;text-transform:uppercase;font-size:clamp(16px,2.1vw,26px);line-height:1.15;max-width:620px}
.jpc-wa{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:52px}
.jpc-wa svg,.jpc-wa img{width:clamp(46px,4.8vw,60px);height:auto;display:block}
.jpc-wa .pww-wrapper{margin:0}
.jpc-btn{display:inline-block;background:#fff;color:var(--jff-blue-d) !important;font-weight:800;font-size:15px;letter-spacing:.14em;text-transform:uppercase;padding:19px 46px;border-radius:6px;text-decoration:none;box-shadow:0 16px 40px -12px rgba(12,28,38,.6);transition:transform .2s ease}
.jpc-btn:hover{transform:translateY(-3px);color:var(--jff-blue-x) !important}
.jpc-rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.jpc-rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.jpc-rv{opacity:1;transform:none;transition:none}}
