/* =============== CooBook Sponsor Form  (Visible anti-bot) =============== */
.cb2-wrap{
    width:100%;
    background:#fff;
    padding: clamp(22px, 4vw, 64px) 16px;
    display:flex;
    justify-content:center;
  }
  
  .cb2-card{
    width:min(980px, 100%);
    border-radius: 26px;
    border: 1px solid rgba(20, 30, 60, 0.12);
    background:
      radial-gradient(900px 360px at 20% 0%, rgba(62, 110, 255, 0.16), transparent 55%),
      radial-gradient(760px 320px at 85% 10%, rgba(0, 190, 255, 0.12), transparent 55%),
      linear-gradient(180deg, rgba(250, 252, 255, 0.96), rgba(255, 255, 255, 1));
    box-shadow:
      0 18px 60px rgba(10, 20, 40, 0.10),
      0 2px 12px rgba(10, 20, 40, 0.06);
    overflow:hidden;
  }
  
  .cb2-head{
    padding: clamp(18px, 3vw, 30px) clamp(18px, 3vw, 34px) 10px;
  }
  
  .cb2-kicker{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(12, 18, 35, 0.55);
    padding: 8px 12px;
    border-radius: 999px;
    border: 1px solid rgba(20, 30, 60, 0.12);
    background: rgba(255,255,255,0.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 10px 26px rgba(10, 20, 40, 0.06);
  }
  
  .cb2-title{
    margin: 14px 0 8px;
    font-size: clamp(22px, 2.4vw, 32px);
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: rgba(12, 18, 35, 0.92);
  }
  
  .cb2-sub{
    margin:0;
    max-width: 72ch;
    font-size: 14.5px;
    line-height: 1.55;
    color: rgba(12, 18, 35, 0.62);
  }
  
  .cb2-form{
    padding: 14px clamp(18px, 3vw, 34px) clamp(20px, 3vw, 34px);
  }
  
  .cb2-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 18px;
  }
  
  .cb2-field{
    display:flex;
    flex-direction: column;
    gap: 10px; /* más separación label/input */
  }
  
  .cb2-field--full{ grid-column: 1 / -1; }
  
  .cb2-field label{
    font-size: 12.5px;
    letter-spacing: 0.02em;
    color: rgba(12, 18, 35, 0.74);
  }
  
  .cb2-req{
    color: rgba(36, 70, 255, 0.95);
    font-weight: 700;
  }
  
  .cb2-field input,
  .cb2-field select,
  .cb2-field textarea{
    width:100%;
    border-radius: 16px;
    border: 1px solid rgba(20, 30, 60, 0.14);
    background: rgba(255,255,255,0.88);
    padding: 13px 14px;
    font-size: 14px;
    color: rgba(12, 18, 35, 0.90);
    outline: none;
    box-shadow:
      0 1px 0 rgba(255,255,255,0.65) inset,
      0 14px 28px rgba(10, 20, 40, 0.05);
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
  }
  
  .cb2-field textarea{ resize: vertical; min-height: 112px; }
  
  .cb2-field input::placeholder,
  .cb2-field textarea::placeholder{
    color: rgba(12, 18, 35, 0.40);
  }
  
  .cb2-field input:focus,
  .cb2-field select:focus,
  .cb2-field textarea:focus{
    border-color: rgba(36, 70, 255, 0.40);
    box-shadow:
      0 0 0 6px rgba(36, 70, 255, 0.14),
      0 18px 40px rgba(10, 20, 40, 0.06);
    transform: translateY(-1px);
  }
  
  .cb2-field select{
    appearance:none;
    -webkit-appearance:none;
    padding-right: 44px;
    background-image:
      linear-gradient(45deg, transparent 50%, rgba(12,18,35,0.55) 50%),
      linear-gradient(135deg, rgba(12,18,35,0.55) 50%, transparent 50%),
      radial-gradient(14px 14px at calc(100% - 18px) 50%, rgba(12,18,35,0.06), transparent 60%);
    background-position:
      calc(100% - 18px) calc(50% - 3px),
      calc(100% - 12px) calc(50% - 3px),
      100% 50%;
    background-size: 6px 6px, 6px 6px, 44px 44px;
    background-repeat:no-repeat;
  }
  
  .cb2-guard{
    margin-top: 18px;
    display:grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 16px;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(20, 30, 60, 0.14);
    background:
      linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,255,255,0.62));
    box-shadow: 0 14px 34px rgba(10,20,40,0.06);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  
  .cb2-guard-title{
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(12,18,35,0.60);
    margin-bottom: 6px;
  }
  
  .cb2-guard-desc{
    font-size: 13.5px;
    line-height: 1.5;
    color: rgba(12,18,35,0.66);
  }
  
  .cb2-guard-field input{
    border-color: rgba(255, 120, 60, 0.30);
    box-shadow:
      0 1px 0 rgba(255,255,255,0.65) inset,
      0 14px 28px rgba(10, 20, 40, 0.05);
  }
  
  .cb2-hint{
    font-size: 12.5px;
    color: rgba(12,18,35,0.52);
    margin-top: -4px;
  }
  
  .cb2-legal{
    margin-top: 14px;
    padding: 14px 16px;
    border-radius: 18px;
    border: 1px solid rgba(20, 30, 60, 0.10);
    background: rgba(255,255,255,0.70);
  }
  
  .cb2-check{
    display:flex;
    gap: 10px;
    align-items:flex-start;
    user-select:none;
  }
  
  .cb2-check input[type="checkbox"]{
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: rgba(36, 70, 255, 0.95);
  }
  
  .cb2-check span{
    font-size: 13px;
    line-height: 1.45;
    color: rgba(12,18,35,0.70);
  }
  
  .cb2-actions{
    margin-top: 16px;
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
  }
  
  .cb2-btn{
    border: 1px solid rgba(20, 30, 60, 0.14);
    background: rgba(12, 18, 35, 0.92);
    color: rgba(255,255,255,0.97);
    border-radius: 999px;
    padding: 12px 18px;
    font-size: 14px;
    letter-spacing: 0.02em;
    cursor:pointer;
    box-shadow:
      0 18px 44px rgba(10,20,40,0.16),
      0 2px 10px rgba(10,20,40,0.10);
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
  }
  
  .cb2-btn:hover{
    transform: translateY(-1px);
    border-color: rgba(36, 70, 255, 0.26);
    box-shadow:
      0 20px 52px rgba(10,20,40,0.18),
      0 2px 12px rgba(10,20,40,0.10);
  }
  
  .cb2-btn:active{ transform: translateY(0px); }
  
  .cb2-mini{
    margin:0;
    font-size: 12.5px;
    color: rgba(12,18,35,0.55);
  }
  
  /* Responsive */
  @media (max-width: 860px){
    .cb2-grid{ grid-template-columns: 1fr; }
    .cb2-guard{ grid-template-columns: 1fr; }
    .cb2-actions{ justify-content:flex-start; }
  }
  
  
  
  
  ________________________________________________________________________________________________
  
  /* =============== Pagina de quieres ser patrocinador  =============== */
  
  .cb-spon2{
    width:100%;
    padding: clamp(28px, 4vw, 74px) 0;
    background:#fff;
  }
  
  .cb-spon2-wrap{
    width:min(1100px, calc(100% - 60px));
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
  }
  
  /* Header */
  .cb-spon2-head{ margin: 0 0 18px; }
  .cb-spon2-badge{
    display:inline-flex;
    align-items:center;
    padding:10px 12px;
    border-radius:999px;
    border:1px solid rgba(10,20,35,.12);
    background:rgba(255,255,255,.8);
    color:rgba(10,20,35,.70);
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  
  .cb-spon2-title{
    margin: 14px 0 10px;
    font-size: clamp(26px, 3.2vw, 42px);
    line-height:1.08;
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.02em;
  }
  .cb-spon2-pill{
    display:inline-block;
    margin-left:10px;
    padding:6px 12px;
    border-radius:999px;
    border:1px solid rgba(66,99,235,.18);
    background: linear-gradient(90deg, rgba(66,99,235,.16), rgba(11,163,255,.14));
    font-weight:800;
    font-size:.78em;
    vertical-align:middle;
  }
  
  .cb-spon2-sub{
    margin:0;
    max-width: 92ch;
    color: rgba(10,20,35,.78);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height:1.65;
  }
  
  /* Example block */
  .cb-spon2-example{
    margin: 18px 20px;
    border:1px solid rgba(10,20,35,.12);
    border-radius:22px;
    background:
      radial-gradient(1100px 520px at 8% 0%, rgba(66,99,235,.10), transparent 55%),
      radial-gradient(900px 480px at 100% 20%, rgba(11,163,255,.10), transparent 52%),
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
    box-shadow: 0 22px 60px rgba(10,20,35,.08), 0 2px 0 rgba(10,20,35,.04);
    padding: clamp(16px, 2.6vw, 26px);
    display:grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 16px;
  }
  
  .cb-spon2-kicker{
    color: rgba(10,20,35,.62);
    font-size: 12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:10px;
  }
  
  .cb-spon2-ex-title{
    margin:0 0 12px;
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.015em;
    font-size: clamp(18px, 2vw, 22px);
  }
  
  .cb-spon2-ex-row{
    display:flex;
    align-items:center;
    gap:10px;
    padding: 12px 12px;
    border-radius:16px;
    border:1px solid rgba(10,20,35,.12);
    background: rgba(255,255,255,.72);
    box-shadow: 0 12px 28px rgba(10,20,35,.06);
    margin-bottom: 12px;
  }
  
  .cb-spon2-tag{
    flex:0 0 auto;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid rgba(10,20,35,.12);
    background: rgba(255,255,255,.85);
    color: rgba(10,20,35,.72);
    font-size: 12px;
    font-weight:800;
  }
  
  .cb-spon2-ex-main{ display:flex; flex-direction:column; gap:2px; }
  .cb-spon2-ex-name{
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.01em;
  }
  .cb-spon2-ex-id{
    color: rgba(10,20,35,.62);
    font-size: 13px;
  }
  
  .cb-spon2-ex-desc{
  margin: 18px 0 0;
  padding: 16px 20px;
  color: rgba(10,20,35,.82);
  line-height:1.7;
  font-size: clamp(14px, 1.2vw, 16px);
  background: linear-gradient(135deg, rgba(66,99,235,.06) 0%, rgba(11,163,255,.04) 100%);
  border-left: 4px solid rgba(66,99,235,.45);
  border-radius: 0 12px 12px 0;
  font-weight: 500;
}
  
  .cb-spon2-ex-box{
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 12px 28px rgba(10,20,35,.06);
    padding: 14px;
  }
  
  .cb-spon2-ex-box-title{
    margin:0 0 10px;
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.01em;
    font-size: 14px;
  }
  
  .cb-spon2-topics{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  
  .cb-spon2-topics li{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding: 10px 12px;
    border-radius:14px;
    border:1px solid rgba(10,20,35,.10);
    background: rgba(255,255,255,.82);
  }
  
  .cb-spon2-topic-name{
    color:#0a1423;
    font-weight:750;
    font-size: 13px;
  }
  .cb-spon2-topic-id{
    color: rgba(10,20,35,.62);
    font-size: 12px;
    font-weight:800;
    letter-spacing:.02em;
  }
  
  .cb-spon2-note{
    margin-top: 10px;
    color: rgba(10,20,35,.66);
    font-size: 12.5px;
    line-height:1.55;
  }
  
  /* Rules */
  .cb-spon2-rules{
    margin: 14px 20px;
    border:1px solid rgba(10,20,35,.12);
    border-radius:22px;
    background: #fff;
    box-shadow: 0 16px 46px rgba(10,20,35,.06), 0 2px 0 rgba(10,20,35,.03);
    padding: clamp(16px, 2.4vw, 22px);
  }
  
  .cb-spon2-rules-title{
    margin:0 0 8px;
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.01em;
    font-size: 16px;
  }
  
  .cb-spon2-rules-text{
    margin:0 0 12px;
    color: rgba(10,20,35,.78);
    line-height:1.65;
    font-size: 14px;
  }
  
  .cb-spon2-rules-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  
  .cb-spon2-rule{
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background: rgba(255,255,255,.9);
    padding: 14px;
  }
  
  .cb-spon2-rule-h{
    margin:0 0 8px;
    color:#0a1423;
    font-weight:860;
    font-size: 14px;
    letter-spacing:-0.01em;
  }
  
  .cb-spon2-rule ul{
    margin:0;
    padding-left: 18px;
    color: rgba(10,20,35,.78);
    line-height:1.6;
    font-size: 13.5px;
  }
  
  .cb-spon2-rule-warn{
    border-color: rgba(240,120,120,.22);
    background: radial-gradient(700px 320px at 0% 0%, rgba(240,120,120,.10), rgba(255,255,255,.92));
  }
  
  /* Contact */
  .cb-spon2-contact{
    margin: 14px 20px;
    border:1px solid rgba(10,20,35,.12);
    border-radius:22px;
    background:
      radial-gradient(900px 420px at 0% 0%, rgba(66,99,235,.10), transparent 55%),
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
    box-shadow: 0 22px 60px rgba(10,20,35,.08), 0 2px 0 rgba(10,20,35,.04);
    padding: clamp(16px, 2.6vw, 26px);
    display:flex;
    gap: 16px;
    align-items:flex-start;
    justify-content:space-between;
  }
  
  .cb-spon2-contact-title{
    margin:0 0 8px;
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.01em;
    font-size: 18px;
  }
  
  .cb-spon2-contact-sub{
    margin:0;
    color: rgba(10,20,35,.78);
    line-height:1.65;
    font-size: 14px;
    max-width: 80ch;
  }
  
  .cb-spon2-format{
    margin-top: 12px;
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background: rgba(255,255,255,.72);
    padding: 12px 14px;
  }
  
  .cb-spon2-format-k{
    color: rgba(10,20,35,.62);
    font-size: 12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom: 6px;
  }
  
  .cb-spon2-format-v{
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.01em;
    font-size: 14px;
  }
  
  .cb-spon2-contact-right{
    display:flex;
    flex-direction:column;
    gap: 10px;
    min-width: 260px;
    align-items: stretch;
  }
  
  .cb-spon2-copy{
    border:1px solid rgba(10,20,35,.14);
    border-radius:18px;
    background: rgba(255,255,255,.86);
    padding: 12px 14px;
    text-align:left;
    cursor:pointer;
    box-shadow: 0 12px 28px rgba(10,20,35,.06);
    transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
  }
  
  .cb-spon2-copy:hover{
    transform: translateY(-1px);
    border-color: rgba(66,99,235,.24);
    box-shadow: 0 18px 42px rgba(10,20,35,.09);
  }
  
  .cb-spon2-copy-label{
    display:block;
    color:#0a1423;
    font-weight:880;
    letter-spacing:-0.01em;
  }
  
  .cb-spon2-copy-hint{
    display:block;
    margin-top: 3px;
    color: rgba(10,20,35,.62);
    font-size: 12.5px;
  }
  
  .cb-spon2-mail{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius:18px;
    padding: 12px 14px;
    border:1px solid rgba(66,99,235,.22);
    background: linear-gradient(90deg, rgba(66,99,235,.18), rgba(11,163,255,.14));
    color:#0a1423;
    font-weight:860;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
    box-shadow: 0 18px 42px rgba(10,20,35,.10);
  }
  
  .cb-spon2-mail:hover{
    transform: translateY(-1px);
    border-color: rgba(66,99,235,.32);
    box-shadow: 0 24px 56px rgba(10,20,35,.12);
  }
  
  .cb-spon2-copy-status{
    min-height: 18px;
    color: rgba(10,20,35,.66);
    font-size: 12.5px;
  }
  
  /* Responsive */
  @media (max-width: 980px){
    .cb-spon2-example{ grid-template-columns: 1fr; }
    .cb-spon2-contact{
      flex-direction: column;
      align-items: stretch;
    }
    .cb-spon2-contact-right{
      min-width: 0;
      width: 100%;
    }
    .cb-spon2-rules-grid{
      grid-template-columns: 1fr;
    }
  }
  
  @media (max-width: 520px){
    .cb-spon2-wrap{ width: calc(100% - 28px); padding-left: 12px; padding-right: 12px; }
    .cb-spon2-pill{ display:block; margin: 10px 0 0; width: fit-content; }
    .cb-spon2-example,
    .cb-spon2-rules,
    .cb-spon2-benefits,
    .cb-spon2-roadmap,
    .cb-spon2-contact {
      margin-left: 10px !important;
      margin-right: 10px !important;
    }
  }
  
  /* Beneficios */
  .cb-spon2-benefits{
    margin: 14px 20px;
    border:1px solid rgba(10,20,35,.12);
    border-radius:22px;
    background:#fff;
    box-shadow: 0 16px 46px rgba(10,20,35,.06), 0 2px 0 rgba(10,20,35,.03);
    padding: clamp(16px, 2.6vw, 26px);
  }
  
  .cb-spon2-benefits-kicker{
    color: rgba(10,20,35,.62);
    font-size: 12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    margin-bottom:10px;
  }
  
  .cb-spon2-benefits-title{
    margin:0 0 10px;
    color:#0a1423;
    font-weight: 860;
    letter-spacing:-0.015em;
    font-size: clamp(16px, 1.8vw, 20px);
  }
  
  .cb-spon2-benefits-sub{
    margin:0 0 14px;
    max-width: 92ch;
    color: rgba(10,20,35,.78);
    line-height:1.65;
    font-size: 14px;
  }
  
  .cb-spon2-benefits-grid{
    display:grid;
    grid-template-columns: 1fr;
    gap: 12px;
  }
  
  @media (min-width: 920px){
    .cb-spon2-benefits-grid{
      grid-template-columns: 1fr 1fr;
    }
  }
  
  .cb-spon2-benefit{
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background:
      radial-gradient(900px 420px at 0% 0%, rgba(66,99,235,.08), transparent 55%),
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
    padding: 14px;
  }
  
  .cb-spon2-benefit-h{
    margin:0 0 8px;
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.01em;
    font-size: 14px;
  }
  
  .cb-spon2-benefit-p{
    margin:0;
    color: rgba(10,20,35,.78);
    line-height:1.65;
    font-size: 13.8px;
  }
  
  /* Países (colapsable, minimalista) */
  .cb-spon2-countriesBox{
    margin-top: 12px;
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background: rgba(255,255,255,.86);
    overflow:hidden;
  }
  
  .cb-spon2-countriesSum{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:12px;
    padding: 14px;
    user-select:none;
  }
  
  .cb-spon2-countriesSum::-webkit-details-marker{ display:none; }
  
  .cb-spon2-countriesTitle{
    color:#0a1423;
    font-weight:860;
    letter-spacing:-0.01em;
  }
  
  .cb-spon2-countriesMeta{
    margin-left:auto;
    color: rgba(10,20,35,.62);
    font-size: 12.5px;
  }
  
  .cb-spon2-countriesIcon{
    width: 32px;
    height: 32px;
    border-radius: 12px;
    border: 1px solid rgba(10,20,35,.12);
    background: rgba(255,255,255,.9);
    position:relative;
    flex: 0 0 auto;
  }
  
  .cb-spon2-countriesIcon::before,
  .cb-spon2-countriesIcon::after{
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width: 14px;
    height: 2px;
    background: linear-gradient(90deg, rgba(66,99,235,.95), rgba(11,163,255,.95));
    border-radius: 2px;
    transition: transform .16s ease, opacity .16s ease;
  }
  
  .cb-spon2-countriesIcon::after{
    transform: rotate(90deg);
  }
  
  .cb-spon2-countriesBox[open] .cb-spon2-countriesIcon::after{
    transform: rotate(90deg) scaleX(0);
    opacity:0;
  }
  
  .cb-spon2-countriesBody{
    padding: 0 14px 14px;
  }
  
  .cb-spon2-countriesGrid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    max-height: 220px;
    overflow:auto;
    padding-top: 10px;
  }
  
  .cb-spon2-country{
    border:1px solid rgba(10,20,35,.12);
    background: rgba(255,255,255,.92);
    border-radius: 999px;
    padding: 8px 10px;
    font-size: 12.5px;
    color: rgba(10,20,35,.76);
    line-height: 1;
  }
  .cb-spon2-roadmap{
    margin: 14px 20px;
    width:calc(100% - 40px);
  }
  
  .cb-spon2-roadmap-wrap{
    border:1px solid rgba(10,20,35,.12);
    border-radius:22px;
    background:
      radial-gradient(1100px 520px at 8% 0%, rgba(66,99,235,.10), transparent 55%),
      radial-gradient(900px 480px at 100% 20%, rgba(11,163,255,.10), transparent 52%),
      linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
    box-shadow: 0 22px 60px rgba(10,20,35,.08), 0 2px 0 rgba(10,20,35,.04);
    padding: clamp(16px, 2.6vw, 26px);
  }
  
  .cb-spon2-roadmap-head{
    margin: 0 0 14px;
  }
  
  .cb-spon2-roadmap-badge{
    display:inline-flex;
    align-items:center;
    padding:10px 12px;
    border-radius:999px;
    border:1px solid rgba(10,20,35,.12);
    background:rgba(255,255,255,.82);
    color:rgba(10,20,35,.70);
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  
  .cb-spon2-roadmap-title{
    margin: 14px 0 10px;
    color:#0a1423;
    font-weight: 880;
    letter-spacing:-0.015em;
    font-size: clamp(18px, 2.1vw, 22px);
    line-height: 1.15;
  }
  
  .cb-spon2-roadmap-sub{
    margin:0;
    max-width: 92ch;
    color: rgba(10,20,35,.78);
    line-height: 1.65;
    font-size: 14px;
  }
  
  /* Steps */
  .cb-spon2-roadmap-grid{
    display:grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 12px;
  }
  
  @media (min-width: 920px){
    .cb-spon2-roadmap-grid{
      grid-template-columns: 1fr 1fr;
    }
  }
  
  .cb-spon2-step{
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 12px 28px rgba(10,20,35,.06);
    padding: 14px;
    position:relative;
    overflow:hidden;
  }
  
  .cb-spon2-step::before{
    content:"";
    position:absolute;
    inset:-40% -30%;
    background:
      linear-gradient(rgba(10,20,35,.05) 1px, transparent 1px),
      linear-gradient(90deg, rgba(10,20,35,.05) 1px, transparent 1px);
    background-size: 38px 38px;
    transform: rotate(-12deg);
    opacity: .20;
    pointer-events:none;
    mask-image: radial-gradient(circle at 40% 30%, rgba(0,0,0,.95), transparent 62%);
  }
  
  .cb-spon2-step-top{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    position:relative;
    z-index:1;
    margin-bottom: 10px;
  }
  
  .cb-spon2-step-n{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height: 30px;
    padding: 0 12px;
    border-radius:999px;
    border:1px solid rgba(10,20,35,.12);
    background: rgba(255,255,255,.9);
    color:#0a1423;
    font-weight: 900;
    letter-spacing: -0.01em;
    font-size: 12.5px;
  }
  
  .cb-spon2-step-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height: 30px;
    padding: 0 12px;
    border-radius:999px;
    border:1px solid rgba(66,99,235,.18);
    background: linear-gradient(90deg, rgba(66,99,235,.14), rgba(11,163,255,.12));
    color:#0a1423;
    font-weight: 860;
    font-size: 12.5px;
  }
  
  .cb-spon2-step-text{
    margin:0 0 10px;
    color: rgba(10,20,35,.78);
    line-height: 1.65;
    font-size: 13.8px;
    position:relative;
    z-index:1;
  }
  
  .cb-spon2-step-list{
    margin: 0;
    padding-left: 18px;
    color: rgba(10,20,35,.78);
    line-height: 1.6;
    font-size: 13.5px;
    position:relative;
    z-index:1;
  }
  
  .cb-spon2-step-list li{ margin: 7px 0; }
  
  /* Footer */
  .cb-spon2-roadmap-foot{
    margin-top: 12px;
    display:flex;
    gap: 12px;
    align-items: stretch;
    justify-content: space-between;
  }
  
  .cb-spon2-roadmap-foot-left{
    flex: 1 1 520px;
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 12px 28px rgba(10,20,35,.06);
    padding: 14px;
  }
  
  .cb-spon2-roadmap-foot-title{
    margin:0 0 8px;
    color:#0a1423;
    font-weight: 880;
    letter-spacing:-0.01em;
    font-size: 14px;
  }
  
  .cb-spon2-roadmap-foot-text{
    margin:0;
    color: rgba(10,20,35,.78);
    line-height: 1.65;
    font-size: 13.8px;
  }
  
  .cb-spon2-roadmap-foot-right{
    flex: 0 1 380px;
    min-width: 260px;
  }
  
  .cb-spon2-roadmap-callout{
    height:100%;
    border:1px solid rgba(10,20,35,.12);
    border-radius:18px;
    background:
      radial-gradient(900px 420px at 0% 0%, rgba(66,99,235,.08), transparent 55%),
      linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.88));
    box-shadow: 0 12px 28px rgba(10,20,35,.06);
    padding: 14px;
  }
  
  .cb-spon2-roadmap-callout-h{
    margin:0 0 8px;
    color:#0a1423;
    font-weight: 880;
    letter-spacing:-0.01em;
    font-size: 14px;
  }
  
  .cb-spon2-roadmap-callout-p{
    margin:0;
    color: rgba(10,20,35,.78);
    line-height: 1.65;
    font-size: 13.8px;
  }
  
  @media (max-width: 980px){
    .cb-spon2-roadmap-foot{
      flex-direction: column;
    }
    .cb-spon2-roadmap-foot-right{
      min-width: 0;
    }
  }
  
  @media (max-width: 520px){
    .cb-spon2-roadmap-wrap{
      padding: 14px;
      border-radius: 20px;
    }
    .cb-spon2-step,
    .cb-spon2-roadmap-foot-left,
    .cb-spon2-roadmap-callout{
      border-radius: 16px;
    }
  }
  
   /* =========================================================
     CooBook – CTA Consultar patrocinio
     ========================================================= */
  
  .cb-cta-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 64px 0;
  }
  
  /* Botón */
  .cb-cta-sponsor {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  
    padding: 16px 34px;
    min-width: 260px;
  
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -0.01em;
    text-decoration: none;
  
    color: #ffffff;
    border-radius: 14px;
  
    background: linear-gradient(
      135deg,
      #1e5eff 0%,
      #3b82f6 45%,
      #2563eb 100%
    );
  
    box-shadow:
      0 12px 28px rgba(37, 99, 235, 0.25),
      inset 0 1px 0 rgba(255,255,255,0.35);
  
    transition:
      transform 0.25s ease,
      box-shadow 0.25s ease,
      filter 0.25s ease;
  }
  
  /* Hover */
  .cb-cta-sponsor:hover {
    transform: translateY(-2px);
    box-shadow:
      0 18px 38px rgba(37, 99, 235, 0.35),
      inset 0 1px 0 rgba(255,255,255,0.45);
    filter: brightness(1.05);
  }
  
  /* Focus accesible */
  .cb-cta-sponsor:focus-visible {
    outline: none;
    box-shadow:
      0 0 0 3px rgba(59,130,246,0.35),
      0 18px 38px rgba(37, 99, 235, 0.35);
  }
  
  /* Active (click) */
  .cb-cta-sponsor:active {
    transform: translateY(0);
    box-shadow:
      0 10px 22px rgba(37, 99, 235, 0.22);
  }
  
  /* Responsive */
  @media (max-width: 640px) {
    .cb-cta-sponsor {
      width: calc(100% - 48px);
      max-width: 360px;
    }
  }

  /* Contenedores principales con padding desde bordes */
  .cb-spon2-wrap {
    padding-left: 30px !important;
    padding-right: 30px !important;
    box-sizing: border-box;
  }

  /* Todas las secciones/islas con padding desde bordes */
  .cb-spon2-example,
  .cb-spon2-rules,
  .cb-spon2-benefits,
  .cb-spon2-roadmap,
  .cb-spon2-roadmap-wrap,
  .cb-spon2-contact {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 25px !important;
    padding-right: 25px !important;
    box-sizing: border-box;
  }

  /* Cajas internas */
  .cb-spon2-ex-box,
  .cb-spon2-rule,
  .cb-spon2-benefit,
  .cb-spon2-step,
  .cb-spon2-roadmap-foot-left,
  .cb-spon2-roadmap-callout {
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
  }

  /* Responsive móvil */
  @media (max-width: 768px) {
    .cb-spon2-wrap {
      padding-left: 15px !important;
      padding-right: 15px !important;
    }
    .cb-spon2-example,
    .cb-spon2-rules,
    .cb-spon2-benefits,
    .cb-spon2-roadmap,
    .cb-spon2-roadmap-wrap,
    .cb-spon2-contact {
      padding-left: 15px !important;
      padding-right: 15px !important;
    }
    .cb-spon2-ex-box,
    .cb-spon2-rule,
    .cb-spon2-benefit,
    .cb-spon2-step,
    .cb-spon2-roadmap-foot-left,
    .cb-spon2-roadmap-callout {
      padding-left: 12px !important;
      padding-right: 12px !important;
    }
  }

  /* =========================================
     MODAL DE FORMULARIO
     ========================================= */

  .cb-modal{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
  }
  
  .cb-modal-backdrop{
    position: absolute;
    inset: 0;
    background: rgba(10, 20, 35, 0.65);
    backdrop-filter: blur(8px);
  }
  
  .cb-modal-content{
    position: relative;
    background: white;
    border-radius: 20px;
    box-shadow:
      0 32px 80px rgba(10,20,35,.25),
      0 8px 24px rgba(0,0,0,.15);
    max-width: 500px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    z-index: 2;
  }
  
  .cb-modal-header{
    padding: 24px 24px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  
  .cb-modal-title{
    margin: 0;
    font-size: clamp(20px, 2.5vw, 24px);
    font-weight: 800;
    color: #0a1423;
    letter-spacing: -0.01em;
  }
  
  .cb-modal-close{
    width: 40px;
    height: 40px;
    border-radius: 12px;
    border: 1px solid rgba(10,20,35,.12);
    background: rgba(255,255,255,.70);
    font-size: 24px;
    font-weight: 400;
    color: rgba(10,20,35,.6);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
  }
  
  .cb-modal-close:hover{
    background: rgba(10,20,35,.08);
    color: #0a1423;
    transform: scale(1.05);
  }
  
  .cb-modal-form{
    padding: 24px;
  }
  
  .cb-form-group{
    margin-bottom: 20px;
  }
  
  .cb-form-label{
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    font-size: 14px;
    color: #0a1423;
    letter-spacing: -0.01em;
  }
  
  .cb-form-input{
    width: 100%;
    padding: 12px 16px;
    border: 2px solid rgba(10,20,35,.12);
    border-radius: 12px;
    font-size: 15px;
    color: #0a1423;
    background: white;
    transition: all 0.2s ease;
    font-family: inherit;
  }
  
  .cb-form-input[type="select"],
  select.cb-form-input {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(10,20,35,0.6)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 20px;
    padding-right: 44px;
    cursor: pointer;
  }
  
  select.cb-form-input:invalid {
    color: rgba(10,20,35,0.4);
  }
  
  select.cb-form-input option {
    color: #0a1423;
    background: white;
  }
  
  select.cb-form-input optgroup {
    font-weight: 600;
    color: rgba(10,20,35,0.7);
    background: rgba(66, 99, 235, 0.05);
  }
  
  .cb-form-input:focus{
    outline: none;
    border-color: rgba(66, 99, 235, .4);
    box-shadow: 0 0 0 3px rgba(66, 99, 235, .1);
  }
  
  .cb-form-input::placeholder{
    color: rgba(10,20,35,.5);
  }
  
  .cb-form-actions{
    margin-top: 24px;
  }
  
  .cb-form-submit{
    width: 100%;
    padding: 14px 24px;
    border-radius: 12px;
    border: none;
    background: linear-gradient(90deg, rgba(76, 175, 80, .95), rgba(66, 99, 235, .95));
    color: white;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: -0.01em;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  .cb-form-submit:hover{
    background: linear-gradient(90deg, rgba(76, 175, 80, 1), rgba(66, 99, 235, 1));
    transform: translateY(-1px);
  }
  
  .cb-form-submit:active{
    transform: translateY(0);
  }
  
  .cb-modal-message{
    padding: 24px;
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
  }
  
  .cb-modal-message--success{
    color: #2e7d32;
    background: rgba(76, 175, 80, .08);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
  
  .cb-modal-message--error{
    color: #c62828;
    background: rgba(244, 67, 54, .08);
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }
  
  .cb-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  
  @media (max-width: 520px){
    .cb-modal-content{ margin: 10px; border-radius: 16px; }
    .cb-modal-header{ padding: 20px 20px 0; }
    .cb-modal-form{ padding: 20px; }
    .cb-modal-message{ padding: 20px; }
    .cb-form-row {
        grid-template-columns: 1fr;
    }
  }

  /* =========================================
     CHECKBOX GRID DE CATEGORÍAS
     ========================================= */

  .cb-categories-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    max-height: 350px;
    overflow-y: auto;
    padding: 16px;
    background: rgba(10,20,35,.03);
    border-radius: 12px;
    border: 2px solid rgba(10,20,35,.08);
  }

  @media (max-width: 600px) {
    .cb-categories-grid {
        grid-template-columns: 1fr;
    }
  }

  .cb-cat-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
  }

  .cb-cat-header {
    font-size: 13px;
    font-weight: 700;
    color: #236fa1;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(35, 111, 161, .2);
    margin-bottom: 4px;
    letter-spacing: -0.01em;
  }

  .cb-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    padding: 6px 8px;
    border-radius: 6px;
    transition: background 0.2s ease;
    font-size: 13px;
    color: #0a1423;
  }

  .cb-checkbox:hover {
    background: rgba(35, 111, 161, .08);
  }

  .cb-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #236fa1;
    cursor: pointer;
    flex-shrink: 0;
  }

  .cb-checkbox span {
    line-height: 1.3;
  }
