.elementor-7698 .elementor-element.elementor-element-aec44cf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-7698 .elementor-element.elementor-element-9394fd3{--display:flex;}.elementor-7698 .elementor-element.elementor-element-034ca7e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-7698 .elementor-element.elementor-element-9eae2d3 .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;font-size:60px;font-weight:800;letter-spacing:-2.7px;color:#000000;}.elementor-7698 .elementor-element.elementor-element-d51d245{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--margin-top:0px;--margin-bottom:03px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7698 .elementor-element.elementor-element-beaab8b .elementor-heading-title{font-family:"Bricolage Grotesque", Sans-serif;font-size:18px;font-weight:600;color:#000000;}.elementor-7698 .elementor-element.elementor-element-3681e1b{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-7698 .elementor-element.elementor-element-a605421{--display:flex;--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7698 .elementor-element.elementor-element-7513a2d{--display:flex;--min-height:0px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-7698 .elementor-element.elementor-element-5fd2edd .elementor-button{background-color:#000000FC;font-family:"Bricolage Grotesque", Sans-serif;font-size:18px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;transition-duration:0.3s;border-style:none;border-radius:30px 30px 30px 30px;}.elementor-7698 .elementor-element.elementor-element-5fd2edd .elementor-button:hover, .elementor-7698 .elementor-element.elementor-element-5fd2edd .elementor-button:focus{background-color:#FF16D4;}.elementor-7698 .elementor-element.elementor-element-896fa7c{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );border-style:none;--border-style:none;}.elementor-7698 .elementor-element.elementor-element-02fcf99 .elementor-button{background-color:#000000;font-family:"Bricolage Grotesque", Sans-serif;font-size:18px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;transition-duration:0.3s;border-style:none;border-radius:30px 30px 30px 30px;}.elementor-7698 .elementor-element.elementor-element-02fcf99 .elementor-button:hover, .elementor-7698 .elementor-element.elementor-element-02fcf99 .elementor-button:focus{background-color:#FF16D4;}.elementor-7698 .elementor-element.elementor-element-c70493a{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-7698 .elementor-element.elementor-element-659d8fd .elementor-button{background-color:#000000;font-family:"Bricolage Grotesque", Sans-serif;font-size:18px;font-weight:700;fill:#FFFFFF;color:#FFFFFF;transition-duration:0.3s;border-style:none;border-radius:30px 30px 30px 30px;}.elementor-7698 .elementor-element.elementor-element-659d8fd .elementor-button:hover, .elementor-7698 .elementor-element.elementor-element-659d8fd .elementor-button:focus{background-color:#FF16D4;}body.elementor-page-7698:not(.elementor-motion-effects-element-type-background), body.elementor-page-7698 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F6F9FC;}@media(min-width:768px){.elementor-7698 .elementor-element.elementor-element-d51d245{--width:64%;}.elementor-7698 .elementor-element.elementor-element-3681e1b{--width:100%;}.elementor-7698 .elementor-element.elementor-element-a605421{--width:75%;}.elementor-7698 .elementor-element.elementor-element-7513a2d{--width:100%;}}/* Start custom CSS for shortcode, class: .elementor-element-e147d50 */@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,700;12..96,800&display=swap');

/* FULL NAME estilo Figma (compacto, sin espacios raros) */
.jj-user-fullname,
.jj-user-fullname *{
  font-family: "Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
  letter-spacing: -0.03em !important;
  word-spacing: 0 !important;
  white-space: nowrap !important;
}

/* Heading Elementor */
.jj-user-fullname .elementor-heading-title,
.jj-user-fullname{
  font-size: 60px !important;
  font-weight: 800 !important;
  line-height: 1.05 !important;
  color: #111 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Si el theme mete estilos raros */
.jj-user-fullname span,
.jj-user-fullname p{
  margin: 0 !important;
  padding: 0 !important;
}

/* Móvil */
@media (max-width: 767px){
  .jj-user-fullname .elementor-heading-title,
  .jj-user-fullname{
    font-size: 24px !important;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-7f17d11 *//* PERFIL EMPRESA (shortcode jj_empresa_profile_editor) */
#jjEmpresaProfile.jj-empresa-wrap{width:100%;max-width:none;margin:0;font-family:"Bricolage Grotesque",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
#jjEmpresaProfile .jj-topbar{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
#jjEmpresaProfile .jj-global-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#jjEmpresaProfile .jj-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
#jjEmpresaProfile .jj-global-msg{font-size:13px}
#jjEmpresaProfile .jj-global-msg.ok{color:#0b6b2b}
#jjEmpresaProfile .jj-global-msg.err{color:#b00020}
#jjEmpresaProfile .jj-hidden{display:none!important}

/* Botones */
#jjEmpresaProfile .jj-btn{border:1px solid rgba(255,255,255,.18);background:#0b0b0b;color:#fff;border-radius:10px;padding:10px 12px;cursor:pointer;font-size:14px;transition:transform .18s ease,color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
#jjEmpresaProfile .jj-btn.primary{border-color:rgba(255,255,255,.35)}
#jjEmpresaProfile .jj-btn[disabled]{opacity:.5;cursor:not-allowed}
#jjEmpresaProfile .jj-btn:not(.jj-edit-btn):not(.jj-cancel-btn):hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.25)}

/* Box */
#jjEmpresaProfile .jj-box{grid-column:span 6;--jj-rgb-thickness:3px;--jj-radius:14px;border:0;border-radius:var(--jj-radius);padding:16px 18px;padding-right:150px;background:#fff;color:#000;position:relative;overflow:hidden;transform:translateY(0);transition:transform .22s ease,box-shadow .22s ease;box-shadow:0 4px 10px rgba(0,0,0,.10),inset 0 0 0 1px rgba(0,0,0,.10)}
#jjEmpresaProfile .jj-box.full{grid-column:span 12}
#jjEmpresaProfile .jj-box::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:var(--jj-rgb-thickness);background:linear-gradient(90deg,#FC3FD9,#00DDFF,#F9A749,#FFFA01,#FC3FD9);background-size:400% 400%;opacity:0;transition:opacity .25s ease;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}
#jjEmpresaProfile .jj-box>*{position:relative;z-index:2}
#jjEmpresaProfile .jj-box:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.35),inset 0 0 0 1px rgba(0,0,0,.10)}
#jjEmpresaProfile .jj-box:hover::before{opacity:1;animation:jjBorderRGB 6s ease-in-out infinite}
@keyframes jjBorderRGB{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}

/* Texto */
#jjEmpresaProfile .jj-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:rgba(0,0,0,.70);margin-bottom:6px}
#jjEmpresaProfile .jj-value{font-size:18px;color:#000;line-height:1.25;word-break:break-word}
#jjEmpresaProfile .jj-box:hover .jj-label,#jjEmpresaProfile .jj-box:hover .jj-value{color:#000}

/* Controles */
#jjEmpresaProfile .jj-controls{position:absolute;top:14px;right:14px;display:flex;gap:8px;align-items:center;flex-wrap:nowrap;margin-top:0;z-index:5}
#jjEmpresaProfile .jj-edit-btn,#jjEmpresaProfile .jj-cancel-btn{background:#000!important;color:#fff!important;border:none!important;box-shadow:none!important;transform:none!important;transition:none!important;outline:none!important}
#jjEmpresaProfile .jj-edit-btn:hover,#jjEmpresaProfile .jj-edit-btn:active,#jjEmpresaProfile .jj-edit-btn:focus,#jjEmpresaProfile .jj-cancel-btn:hover,#jjEmpresaProfile .jj-cancel-btn:active,#jjEmpresaProfile .jj-cancel-btn:focus,#jjEmpresaProfile .jj-box:hover .jj-edit-btn,#jjEmpresaProfile .jj-box:hover .jj-cancel-btn{background:#000!important;color:#fff!important;border:none!important;box-shadow:none!important;transform:none!important;outline:none!important}

/* Inputs */
#jjEmpresaProfile .jj-input,#jjEmpresaProfile .jj-select{width:100%;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:10px;font-size:16px;background:#fff;color:#000;transition:border-color .18s ease,box-shadow .18s ease}
#jjEmpresaProfile .jj-input:focus,#jjEmpresaProfile .jj-select:focus{outline:none;border-color:rgba(255,22,212,.75);box-shadow:0 0 0 3px rgba(255,22,212,.18)}
#jjEmpresaProfile .jj-box .jj-edit:not(.jj-hidden){margin-top:52px!important}
#jjEmpresaProfile .jj-box .jj-edit:not(.jj-hidden) .jj-input,#jjEmpresaProfile .jj-box .jj-edit:not(.jj-hidden) .jj-select{border-color:rgba(255,22,212,.85)!important;box-shadow:0 0 0 3px rgba(255,22,212,.18)!important}

/* Cabecera (logo izq 2 filas + nombre/email der) */
#jjEmpresaProfile .jj-grid .jj-box.jj-head-logo{grid-column: 1 / span 4 !important;grid-row: 1 / span 2 !important;padding-right: 18px !important}
#jjEmpresaProfile .jj-grid .jj-box.jj-head-name{grid-column: 5 / -1 !important;grid-row: 1 !important}
#jjEmpresaProfile .jj-grid .jj-box.jj-head-email{grid-column: 5 / -1 !important;grid-row: 2 !important}
#jjEmpresaProfile .jj-grid .jj-box.full[data-field="descripcion_empresa"]{grid-column: 1 / -1 !important}
#jjEmpresaProfile .jj-grid .jj-box.jj-head-logo .jj-view{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#jjEmpresaProfile .jj-grid .jj-box.jj-head-logo .jj-edit{margin-top:16px!important}

/* Responsive perfil */
@media (max-width:720px){
  #jjEmpresaProfile .jj-box{grid-column:span 12;padding-right:18px}
  #jjEmpresaProfile .jj-controls{position:static;margin-top:12px;justify-content:flex-start;flex-wrap:wrap}
  #jjEmpresaProfile .jj-grid .jj-box.jj-head-logo,
  #jjEmpresaProfile .jj-grid .jj-box.jj-head-name,
  #jjEmpresaProfile .jj-grid .jj-box.jj-head-email{grid-column: 1 / -1 !important;grid-row:auto !important}
}

/* =========================================================
   PANEL EMPRESA (shortcode jj_empresa_panel)
   ========================================================= */
#jjEmpPanelApp{font-family:"Bricolage Grotesque",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important}
#jjEmpPanelApp *{font-family:inherit!important}
#jjEmpPanelApp h1,#jjEmpPanelApp h2,#jjEmpPanelApp h3{color:#101214!important}

/* Links negros (salvo botón) */
#jjEmpPanelApp a,#jjEmpPanelApp a:visited,#jjEmpPanelApp a:hover,#jjEmpPanelApp a:active{color:#101214!important;text-decoration:none!important}
#jjEmpPanelApp a:hover{opacity:.85}
#jjEmpPanelApp a.jj-offer-btn,#jjEmpPanelApp a.jj-offer-btn:visited,#jjEmpPanelApp a.jj-offer-btn:hover,#jjEmpPanelApp a.jj-offer-btn:active{color:#fff!important;opacity:1;text-decoration:none!important}

/* Vista 1: ofertas */
#jjEmpPanelApp .jj-offers-list{display:flex;flex-direction:column;gap:14px;margin-top:14px}
#jjEmpPanelApp .jj-offer-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px;border-radius:16px;background:#f4f6f8;border:1px solid rgba(0,0,0,.06);box-shadow:0 10px 26px rgba(0,0,0,.08)}
#jjEmpPanelApp .jj-offer-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.10);transform:translateY(-1px);transition:box-shadow .15s ease,transform .15s ease}
#jjEmpPanelApp .jj-offer-left{min-width:0}
#jjEmpPanelApp .jj-offer-title{font-size:18px;font-weight:700;line-height:1.2;color:#101214;margin-bottom:6px;word-break:break-word}
#jjEmpPanelApp .jj-offer-date{font-size:14px;color:rgba(16,18,20,.65)}
#jjEmpPanelApp .jj-offer-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}
#jjEmpPanelApp .jj-offer-status{font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.08);background:rgba(255,255,255,.65);color:rgba(16,18,20,.75)}
#jjEmpPanelApp .jj-offer-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;background:#0b0b0b;border:1px solid rgba(255,255,255,.12);font-weight:700;font-size:14px;transition:transform .12s ease,opacity .12s ease}
#jjEmpPanelApp .jj-offer-btn:hover{transform:translateY(-1px);opacity:.92}
@media (max-width:640px){
  #jjEmpPanelApp .jj-offer-card{flex-direction:column;align-items:flex-start}
  #jjEmpPanelApp .jj-offer-right{width:100%;align-items:flex-start}
  #jjEmpPanelApp .jj-offer-btn{width:100%}
}

/* Vista 2: candidatos (tabla con look card) */
#jjEmpPanelApp .jj-empresa-candidatos p{color:#101214!important}
#jjEmpPanelApp .jj-empresa-candidatos p b{color:#101214!important}

#jjEmpPanelApp .jj-empresa-candidatos table{width:100%!important;border-collapse:separate!important;border-spacing:0 14px!important}
#jjEmpPanelApp .jj-empresa-candidatos thead{display:none!important}

/* reset bordes theme */
#jjEmpPanelApp .jj-empresa-candidatos table,
#jjEmpPanelApp .jj-empresa-candidatos thead,
#jjEmpPanelApp .jj-empresa-candidatos tbody,
#jjEmpPanelApp .jj-empresa-candidatos tr,
#jjEmpPanelApp .jj-empresa-candidatos th,
#jjEmpPanelApp .jj-empresa-candidatos td{border:0!important;outline:0!important;box-shadow:none!important}
#jjEmpPanelApp .jj-empresa-candidatos td,
#jjEmpPanelApp .jj-empresa-candidatos th{border-left:0!important;border-right:0!important}

#jjEmpPanelApp .jj-empresa-candidatos tbody tr{background:#f4f6f8;border:1px solid rgba(0,0,0,.06)!important;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.08)!important}
#jjEmpPanelApp .jj-empresa-candidatos tbody tr:hover{box-shadow:0 14px 34px rgba(0,0,0,.10)!important;transform:translateY(-1px);transition:box-shadow .15s ease,transform .15s ease}
#jjEmpPanelApp .jj-empresa-candidatos tbody td{border-bottom:0!important;padding:16px 18px!important;vertical-align:middle}
#jjEmpPanelApp .jj-empresa-candidatos tbody td:nth-child(1){font-weight:800;font-size:16px;color:#101214;width:34%}
#jjEmpPanelApp .jj-empresa-candidatos tbody td:nth-child(2){color:rgba(16,18,20,.70);width:30%;word-break:break-word}
#jjEmpPanelApp .jj-empresa-candidatos tbody td:nth-child(3){color:rgba(16,18,20,.65);width:18%;white-space:nowrap}
#jjEmpPanelApp .jj-empresa-candidatos tbody td:nth-child(4){width:18%;text-align:right}
#jjEmpPanelApp .jj-empresa-candidatos tbody td:nth-child(1) a{color:#101214!important;font-weight:800;text-decoration:none!important}
#jjEmpPanelApp .jj-empresa-candidatos tbody td:nth-child(1) a:hover{opacity:.85}

/* Select estado */
#jjEmpPanelApp select.jj_estado_candidato{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.10);border-radius:12px;padding:10px 36px 10px 12px;font-weight:700;font-size:14px;color:#101214;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,rgba(16,18,20,.7) 50%),linear-gradient(135deg,rgba(16,18,20,.7) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}

@media (max-width:640px){
  #jjEmpPanelApp .jj-empresa-candidatos table{border-spacing:0 12px!important}
  #jjEmpPanelApp .jj-empresa-candidatos tbody tr{display:block;padding:14px}
  #jjEmpPanelApp .jj-empresa-candidatos tbody td{display:block;padding:8px 0!important;width:100%!important;text-align:left!important}
  #jjEmpPanelApp .jj-empresa-candidatos tbody td:nth-child(4){padding-top:10px!important}
  #jjEmpPanelApp select.jj_estado_candidato{width:100%}
}

/* Asegura que el botón sea clicable aunque haya overlays raros */
#jjEmpPanelApp .jj-offer-card{position:relative;}
#jjEmpPanelApp .jj-offer-right{position:relative; z-index:2;}
#jjEmpPanelApp .jj-offer-btn{position:relative;z-index:5;pointer-events:auto !important;cursor:pointer}

/* (Opcional) tu texto hint ya no existe: por si queda hueco de estilos viejos */
#jjEmpPanelApp .jj-hint-click{display:none!important;}

#jjEmpPanelApp button[data-jj-edit-toggle="1"]{
  color:#000 !important;
}

/* =========================================================
   ESTILOS DE PLANES
   ========================================================= */

.jj-planes-box{
  font-family: Bricolage Grotesque, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 16px;
  padding: 18px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  width: 100%;
  max-width: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}

.jj-planes-title{
  font-weight: 800;
  font-size: 18px;
  margin: 0;
  flex: 0 0 100%;
}

.jj-planes-row{
  display:flex;
  align-items:center;
  gap: 8px;
  flex: 0 0 auto;
  position: relative;
  padding-right: 20px;
}

.jj-planes-row::after{
  content: "|";
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(0,0,0,.35);
}

.jj-planes-row:last-of-type::after{
  content: "|";
}

.jj-planes-label{ font-weight: 700; }
.jj-planes-value{ font-weight: 800; }

.jj-planes-btn{
  display:inline-block;
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.25);
  background: #fff;
  color: #000;
  text-decoration: none;
  font-weight: 800;
  white-space: nowrap;
  margin-left: auto;
}

.jj-planes-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0,0,0,.08);
}

/* móvil: apila limpio y sin barras */
@media (max-width: 520px){
  .jj-planes-row{
    flex: 0 0 100%;
    padding-right: 0;
  }
  .jj-planes-row::after{ content: ""; }
  .jj-planes-btn{
    margin-left: 0;
    width: 100%;
    text-align: center;
  }
}

/* ===== WRAP ===== */
.jj-planes-wrap{
  width: 100%;
}

/* ===== BLOQUE DE PLANES ===== */
.jj-plan-catalog{
  margin-top: 26px;
  font-family: Bricolage Grotesque, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

.jj-plan-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.jj-plan-card{
  border-radius: 18px;
  padding: 28px 26px;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  position: relative;
  min-height: 520px;

  display:flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.jj-plan-starter{ background: #F6F8FA; color:#111; }
.jj-plan-pro{ background: #6B2CF1; color:#fff; border-color: transparent; }
.jj-plan-elite{ background: #2A00B8; color:#fff; border-color: transparent; }

.jj-plan-ribbon{
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 160px;
  background: #15C765;
  color: #fff;
  font-weight: 800;
  padding: 10px 14px;
  border-radius: 18px 18px 0 0;
}

.jj-plan-name{
  font-size: 44px;
  font-weight: 900;
  margin-top: 16px;
  line-height: 1;
}

.jj-plan-bono{
  margin-top: 14px;
  font-weight: 800;
  opacity: .95;
}

.jj-plan-price{
  margin-top: 44px;
  display:flex;
  align-items: baseline;
  gap: 10px;
}

.jj-plan-eur{
  font-size: 72px;
  font-weight: 900;
  letter-spacing: -1px;
}

.jj-plan-period{
  font-weight: 800;
  font-size: 22px;
  opacity: .95;
}

.jj-plan-iva{
  margin-top: 8px;
  font-weight: 800;
  opacity: .9;
}

.jj-plan-desc{
  margin-top: 34px;
  font-size: 14px;
  line-height: 1.35;
  opacity: .95;
  max-width: 320px;
}

.jj-plan-cta{
  margin-top: auto;
  margin-bottom: 6px;
  display:inline-block;
  width: 70%;
  padding: 14px 16px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 900;
  border: 1px solid transparent;
}

.jj-plan-cta-dark{
  background: #000;
  color: #fff;
}

.jj-plan-cta-light{
  background: #fff;
  color: #111;
}

.jj-plan-cta:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(0,0,0,.12);
}

/* Nota */
.jj-plan-note{
  margin-top: 18px;
  font-size: 12px;
  line-height: 1.35;
  opacity: .75;
  text-align: center;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

/* Botones inferiores */
.jj-plan-actions{
  margin-top: 18px;
  display:flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
}

.jj-plan-action{
  display:inline-block;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.18);
  background: #fff;
  color: #000;
  text-decoration: none;
  font-weight: 900;
}

.jj-plan-action-primary{
  border-color: rgba(0,0,0,.28);
}

/* Responsive */
@media (max-width: 980px){
  .jj-plan-grid{ grid-template-columns: 1fr; }
  .jj-plan-card{ min-height: auto; }
  .jj-plan-cta{ width: 100%; }
}

/* =========================================================
   ANIMACIÓN BORDE RGB (CORREGIDO FINAL: SIN LINEA AZUL)
   ========================================================= */

/* 1. Definimos la animación */
@keyframes jjBorderRGB {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* 2. Ajustes base de la Card */
#jjEmpPanelApp .jj-offer-card {
  position: relative;
  z-index: 1;
  overflow: visible; /* Necesario para que el borde salga fuera */
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

/* Aseguramos que textos y botones estén por encima */
#jjEmpPanelApp .jj-offer-card > * {
  position: relative;
  z-index: 5;
}

/* 3. El Pseudo-elemento (Borde RGB) */
#jjEmpPanelApp .jj-offer-card.is-selected::before {
  content: "";
  position: absolute;
  /* AJUSTE CLAVE: inset negativo para que abrace por fuera */
  inset: -2px;
  border-radius: 18px; /* Un pelín más grande que la card (16px) */
  padding: 3px; /* Grosor del borde */

  background: linear-gradient(90deg, #FC3FD9, #00DDFF, #F9A749, #FFFA01, #FC3FD9);
  background-size: 400% 400%;

  /* Máscara para dejar hueco al centro */
  -webkit-mask:
     linear-gradient(#fff 0 0) content-box,
     linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;

  pointer-events: none;
  z-index: 2;
  opacity: 1;
  animation: jjBorderRGB 3s linear infinite;
}

/* 4. Estado .is-selected (Quitar outline azul y borde gris) */
#jjEmpPanelApp .jj-offer-card.is-selected {
  outline: none !important; /* <--- ESTO ELIMINA LA LÍNEA AZUL */
  border-color: transparent !important; /* Elimina borde gris base */
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(0,0,0,0.15);
}/* End custom CSS */
/* Start custom CSS *//* Quitar el borde punteado al hacer click (mouse), pero mantener foco con teclado */
:focus { outline: none !important; }
:focus-visible { outline: none !important; }

/* Mejor práctica: solo mostrar foco cuando se navega con teclado */
html:not(.user-is-tabbing) :focus{
  outline: none !important;
  box-shadow: none !important;
}/* End custom CSS */