

/* ===== Card ===== */
.jbresSubx-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}

/* ===== Header ===== */
.jbresSubx-head{
  position: relative;
  padding: 18px 18px 14px 18px;
  color: #fff;
  background:
    radial-gradient(900px 240px at 10% 15%, rgba(255,255,255,0.16), rgba(255,255,255,0) 60%),
    radial-gradient(760px 220px at 90% 30%, rgba(0,220,255,0.14), rgba(0,220,255,0) 58%),
    linear-gradient(180deg, #0f6a7b 0%, #0b3c49 100%);
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.jbresSubx-head h2{
  margin: 0 0 6px 0;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: .2px;
}
.jbresSubx-head p{
  margin: 0;
  opacity: .94;
  font-size: 16px;
  line-height: 1.55;
}

/* ===== Body ===== */
.jbresSubx-body{
  padding: 18px;
}

/* ===== Info banner ===== */
.jbresSubx-banner{
  background: rgba(15,106,123,.08);
  border: 1px solid rgba(15,106,123,.18);
  padding: 12px 12px;
  border-radius: 12px;
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.6;
  color: #0b3c49;
}
.jbresSubx-banner strong{ font-weight: 900; }

/* ===== Layout grid ===== */
.jbresSubx-grid{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}
.jbresSubx-col12{ grid-column: span 12; }
.jbresSubx-col8{ grid-column: span 8; }
.jbresSubx-col6{ grid-column: span 6; }
.jbresSubx-col4{ grid-column: span 4; }
.jbresSubx-col3{ grid-column: span 3; }

/* ===== Sections ===== */
.jbresSubx-sec{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(0,0,0,.015), rgba(0,0,0,0)),
    #fff;
}

.jbresSubx-secTitle{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 12px 0;
}
.jbresSubx-secTitle h3{
  margin: 0;
  font-size: 15px;
  font-weight: 900;
  color: #0b3c49;
}
.jbresSubx-secTitle .jbresSubx-mini{
  font-size: 15px;
  color: rgba(0,0,0,.58);
}

/* ===== Fields ===== */
.jbresSubx-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 10px;
}
.jbresSubx-field label{
  font-size: 13px;
  font-weight: 800;
  color: rgba(0,0,0,.72);
}
.jbresSubx-field label .req{
  color: #b00020;
  margin-left: 4px;
}
.jbresSubx-help{
  font-size: 15px;
  color: rgba(0,0,0,.58);
  line-height: 1.5;
}

/* ===== Inputs (Global) ===== */
.jbresSubx-in,
.jbresSubx-sel,
.jbresSubx-ta{
  width: 100%;
  font-size: 14px;
  font-family: inherit;
  padding: 11px 14px;
  line-height: 1.5;
  color: #122;
  background: #fff;
  border: 1px solid #cfd8dc;
  border-radius: 10px;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.jbresSubx-ta{
  min-height: 140px;
  resize: vertical;
}
.jbresSubx-in::placeholder,
.jbresSubx-ta::placeholder{
  color: #9aa7b1;
  font-size: 13px;
}
.jbresSubx-in:hover,
.jbresSubx-sel:hover,
.jbresSubx-ta:hover{
  border-color: #90a4ae;
}
.jbresSubx-in:focus,
.jbresSubx-sel:focus,
.jbresSubx-ta:focus{
  outline: none;
  border-color: #0f6a7b;
  background: #fcfeff;
  box-shadow: 0 0 0 3px rgba(15,106,123,.14);
}

/* ===== Select arrow ===== */
.jbresSubx-sel{
  appearance: none;
  padding-right: 46px;
  background-image:
    linear-gradient(45deg, transparent 50%, #607d8b 50%),
    linear-gradient(135deg, #607d8b 50%, transparent 50%),
    linear-gradient(to right, rgba(0,0,0,.12), rgba(0,0,0,.12));
  background-position:
    calc(100% - 20px) calc(50% - 3px),
    calc(100% - 14px) calc(50% - 3px),
    calc(100% - 2.6em) 50%;
  background-size:
    6px 6px,
    6px 6px,
    1px 60%;
  background-repeat: no-repeat;
}

/* ===== Corresponding Author Section - Premium styling ===== */
.jbresSubx-sec--ca{
  background:
    radial-gradient(700px 160px at 15% 10%, rgba(15,106,123,0.08), rgba(15,106,123,0) 65%),
    #fff;
  border-color: rgba(15,106,123,.18);
}

.jbresSubx-sec--ca .jbresSubx-in,
.jbresSubx-sec--ca .jbresSubx-sel,
.jbresSubx-sec--ca .jbresSubx-ta{
  border-radius: 9px;
  border: 1px solid rgba(15,106,123,.22);
  background: #fbfeff;
}

.jbresSubx-sec--ca .jbresSubx-in:focus,
.jbresSubx-sec--ca .jbresSubx-sel:focus,
.jbresSubx-sec--ca .jbresSubx-ta:focus{
  border-color: #0f6a7b;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(15,106,123,.12);
}

/* ===== Upload box ===== */
.jbresSubx-upload{
  border: 1px dashed rgba(0,0,0,.22);
  border-radius: 14px;
  padding: 12px;
  background: rgba(0,0,0,.015);
}
.jbresSubx-uploadGrid{
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
}
.jbresSubx-file{
  grid-column: span 4;
}
.jbresSubx-file input[type="file"]{
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #cfd8dc;
  background: #fff;
}

/* ===== Check pills ===== */
.jbresSubx-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 6px;
}
.jbresSubx-pill{
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  border: 1px solid rgba(0,0,0,.14);
  border-radius: 999px;
  padding: 9px 12px;
  font-size: 13px;
  background: #fff;
  color: rgba(0,0,0,.78);
}
.jbresSubx-pill input{ margin-top: 2px; }

/* ===== Actions ===== */
.jbresSubx-actions{
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 14px;
}
.jbresSubx-btn{
  border: 1px solid rgba(0,0,0,.16);
  border-radius: 12px;
  padding: 11px 14px;
  font-size: 14px;
  font-weight: 900;
  background: #fff;
  cursor: pointer;
  color: #0b3c49;
  transition: transform .12s ease, opacity .12s ease, box-shadow .12s ease;
}
.jbresSubx-btn:hover{
  opacity: .93;
  transform: translateY(-1px);
  box-shadow: 0 8px 16px rgba(0,0,0,.08);
}
.jbresSubx-btn--primary{
  background: #0f6a7b;
  border-color: #0f6a7b;
  color: #fff;
}
.jbresSubx-btn--primary:hover{
  box-shadow: 0 12px 20px rgba(15,106,123,.22);
}

/* ===== Footer note ===== */
.jbresSubx-foot{
  margin-top: 10px;
  font-size: 15px;
  color: rgba(0,0,0,.58);
  line-height: 1.55;
}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .jbresSubx-col8, .jbresSubx-col6, .jbresSubx-col4, .jbresSubx-col3{ grid-column: span 12; }
  .jbresSubx-file{ grid-column: span 12; }
  .jbresSubx-actions{ justify-content: stretch; }
  .jbresSubx-btn{ width: 100%; }
}

/* ===============================
   Submission Page – Sub Banner
   =============================== */

.sub-banner{
  position: relative;
  width: 100%;
  padding: 48px 16px;
  margin-bottom: 24px;

  background:
    radial-gradient(900px 280px at 15% 20%, rgba(255,255,255,0.18), rgba(255,255,255,0) 60%),
    radial-gradient(800px 260px at 85% 30%, rgba(0,210,255,0.18), rgba(0,210,255,0) 55%),
    linear-gradient(180deg, #0f6a7b 0%, #0b3c49 100%);

  color: #ffffff;
  overflow: hidden;
}

/* soft bottom fade to merge with page */
.sub-banner::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 30px;
  background: linear-gradient(to bottom, rgba(11,60,73,0), #ffffff);
  pointer-events: none;
}

/* Inner container */
.sub-banner-content{
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

/* Tag */
.sub-banner-content .tag{
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 12px;

  font-size: 15px;
  font-weight: 700;
  letter-spacing: .3px;
  text-transform: uppercase;

  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 999px;
}

/* Heading */
.sub-banner-content h1{
  font-size: 28px;
  line-height: 1.25;
  font-weight: 900;
  margin: 10px 0 12px 0;
}

/* Description text */
.sub-banner-content p{
  max-width: 880px;
  margin: 0 0 10px 0;
  font-size: 15px;
  line-height: 1.6;
  opacity: .95;
}

/* CTA link */
.sub-banner-content a{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  margin-top: 14px;
  padding: 10px 16px;

  font-size: 14px;
  font-weight: 700;
  text-decoration: none;

  color: #0b3c49;
  background: #ffffff;

  border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

/* SVG icon */
.sub-banner-content a svg{
  width: 18px;
  height: 18px;
}

/* Hover effect */
.sub-banner-content a:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(0,0,0,.25);
  opacity: .95;
}

/* ===============================
   Responsive adjustments
   =============================== */
@media (max-width: 768px){
  .sub-banner{
    padding: 36px 14px;
  }

  .sub-banner-content h1{
    font-size: 22px;
  }

  .sub-banner-content p{
    font-size: 14px;
  }
}
/* ==========================================
   Submission Banner – Model C (New Layout)
   - Glass content panel
   - Left accent stripe
   - No bottom fade/blur
   ========================================== */

.sub-banner{
  position: relative;
  width: 100%;
  padding: 34px 16px;        /* smaller height than before */
  margin-bottom: 22px;
  overflow: hidden;

  /* New background model (multi-tone) */
  background:
    radial-gradient(700px 220px at 12% 25%, rgba(255, 194, 102, .22), rgba(255,255,255,0) 60%),
    radial-gradient(800px 260px at 90% 30%, rgba(130, 170, 255, .18), rgba(255,255,255,0) 62%),
    linear-gradient(135deg, #1b2a41 0%, #0f1724 55%, #101826 100%);

  color: #fff;
}

/* REMOVE bottom blur/fade */
.sub-banner::after{ display:none !important; }

/* Container now behaves like a card */
.sub-banner-content{
  max-width: 1300px;
  margin: 0 auto;

  /* Glass panel */
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;

  padding: 22px 22px;
  box-shadow: 0 14px 34px rgba(0,0,0,.28);

  position: relative;
  overflow: hidden;
}

/* Left accent stripe */
.sub-banner-content::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width: 6px;
  background: linear-gradient(180deg, #7dd3fc 0%, #a78bfa 55%, #fbbf24 100%);
  opacity: .95;
}

/* Top row: tag */
.sub-banner-content .tag{
  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 6px 12px;
  border-radius: 999px;

  font-size: 15px;
  font-weight: 800;
  letter-spacing: .35px;
  text-transform: uppercase;

  color: rgba(255,255,255,.95);
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.14);
}

/* Heading */
.sub-banner-content h1{
  margin: 10px 0 10px 0;
  font-size: 26px;
  line-height: 1.22;
  font-weight: 900;
  letter-spacing: .2px;
}

/* Paragraphs */
.sub-banner-content p{
  margin: 0 0 10px 0;
  max-width: 920px;
  font-size: 14.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.90);
}

/* CTA link becomes “button” style */
.sub-banner-content a{
  display: inline-flex;
  align-items: center;
  gap: 10px;

  margin-top: 12px;
  padding: 11px 16px;

  font-size: 14px;
  font-weight: 900;
  text-decoration: none;

  color: #0f1724;
  background: #ffffff;

  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 10px 24px rgba(0,0,0,.28);

  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}

/* Icon */
.sub-banner-content a svg{
  width: 18px;
  height: 18px;
}

/* Hover */
.sub-banner-content a:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,.35);
  opacity: .96;
}

/* Responsive */
@media (max-width: 768px){
  .sub-banner{
    padding: 24px 14px;
  }
  .sub-banner-content{
    padding: 18px 16px;
    border-radius: 14px;
  }
  .sub-banner-content h1{
    font-size: 20px;
  }
  .sub-banner-content p{
    font-size: 13.5px;
  }
}