.vpp-linked{font-family:Nunito,Arial,sans-serif;margin:18px 0;padding:18px 20px;border:1px solid #d7e1ee;border-radius:14px;background:#fff;color:#142033;box-shadow:none}
.vpp-linked h3{margin:0 0 14px;font-size:clamp(20px,3vw,24px);line-height:1.15;font-weight:800;color:#142033}
.vpp-linked label{display:block;font-weight:700;margin:10px 0 8px}
.vpp-linked input:not([type=hidden]):not([type=checkbox]),.vpp-linked select,.vpp-linked textarea{display:block;width:100%;padding:11px 12px;border:1px solid #bfd0e6;border-radius:10px;font:inherit;background:#fff;color:#142033;box-sizing:border-box}
.vpp-linked textarea{resize:vertical;min-height:112px}
.vpp-linked button{background:#004baf;color:#fff;border:0;border-radius:10px;padding:13px 18px;font-weight:800;margin:12px 8px 0 0;cursor:pointer}
.vpp-linked button:disabled{opacity:.55;cursor:wait}
.vpp-linked p{font-size:14px;line-height:1.5;margin:8px 0 0;color:#415168}
.vpp-linked [hidden]{display:none!important}
.vpp-linked details{border-top:1px solid #d7e1ee;padding:12px 0}
.vpp-linked summary{cursor:pointer;font-weight:700}
.vpp-linked :focus-visible{outline:3px solid #004baf;outline-offset:3px}
.vpp-personalizing .product-actions .add-to-cart,.vpp-personalizing .vpp-mobile-bar{display:none!important}
.vpp-linked-status{font-weight:700;min-height:1.4em;margin-top:8px}

.vpp-linked-form{display:grid;gap:10px}
.vpp-linked .vpp-mode-wrap{margin:6px 0 2px}
.vpp-linked .vpp-mode-wrap select{max-width:420px}
.vpp-linked .vpp-intro{margin-top:0}
.vpp-linked [data-vpp-fixed]{margin-top:2px}
.vpp-linked [data-vpp-fixed] label,.vpp-attachments label{margin:0}
.vpp-linked [data-vpp-cart-explanation]:empty{display:none}

.vpp-attachments{border:0;border-radius:0;padding:0;margin:6px 0 0;background:transparent}
.vpp-attachments legend{font-size:18px;font-weight:800;padding:0;margin:0 0 8px;color:#142033;width:auto}
.vpp-field-title{display:block;font-size:14px;line-height:1.3;font-weight:800;color:#142033;margin:0 0 6px}
.vpp-file-help,.vpp-variable-file-help,.vpp-custom-file-help{margin-top:8px}
.vpp-existing-files{overflow-wrap:anywhere}
.vpp-integrity-error{color:#8a1c13;background:#fff0ee;border:1px solid #e9ada7;padding:14px;border-radius:8px}

.vpp-linked input[type=checkbox]{width:18px;height:18px;vertical-align:middle;accent-color:#004baf}

.vpp-linked .vpp-personal-stepper{display:grid;grid-template-columns:44px 72px 44px;width:160px;max-width:100%;height:48px;border:1px solid #bfd0e6;border-radius:12px;overflow:hidden;direction:ltr;background:#fff}
.vpp-linked .vpp-personal-stepper button{width:44px;height:46px;min-height:46px;margin:0!important;padding:0!important;border:0;border-radius:0;background:#f3f7fc;color:#004baf;font-size:18px;touch-action:manipulation}
.vpp-linked .vpp-personal-stepper input[name=quantity]{width:72px!important;min-width:0;height:46px;margin:0!important;padding:0!important;border:0;border-radius:0;text-align:center;font:800 16px/1 Nunito,Arial,sans-serif;appearance:textfield;color:#142033;background:#fff}
.vpp-linked .vpp-personal-stepper input::-webkit-inner-spin-button,.vpp-linked .vpp-personal-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.vpp-linked .vpp-personal-quantity{margin:0 0 4px}
.vpp-linked .vpp-personal-quantity>label{margin:0 0 8px;text-align:left}
.vpp-linked .vpp-personal-stepper:focus-within{outline:2px solid #004baf;outline-offset:2px}

.vpp-diploma-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.vpp-diploma-fields .vpp-diploma-school,.vpp-diploma-fields .vpp-diploma-intro,.vpp-diploma-fields .vpp-diploma-field:nth-child(3){grid-column:1 / -1}
.vpp-linked .vpp-diploma-field{min-width:0;padding:14px;border-radius:10px;background:#fff}
.vpp-linked .vpp-diploma-field label{margin:0 0 8px;text-align:left;float:none}
.vpp-linked .vpp-diploma-field p{margin:6px 0 0;color:#526075;font-weight:400}
.vpp-linked .vpp-diploma-field textarea{resize:vertical;box-sizing:border-box;font-size:16px}
.vpp-linked .vpp-diploma-field input[type=file]{max-width:100%;box-sizing:border-box;font-size:14px}
.vpp-linked .vpp-diploma-upload{margin-top:12px!important}

@media(max-width:767px){
  .vpp-linked{padding:16px 14px;border-radius:12px;margin:16px 0}
  .vpp-linked h3{font-size:20px;margin-bottom:12px}
  .vpp-diploma-fields{grid-template-columns:minmax(0,1fr);gap:12px}
  .vpp-linked.vpp-diploma{padding:16px 14px}
  .vpp-linked .vpp-diploma-field{padding:12px}
}
@media(min-width:768px){.vpp-linked .vpp-diploma-field:nth-child(n+4)>label{display:grid;grid-template-rows:minmax(2.8em,auto) 44px;align-items:end}}

/* 2.8.14: refinamiento visual del bloque de adjuntos, sin cambios funcionales. */
.vpp-linked .vpp-attachments{
  font-size:15px;
}
.vpp-linked .vpp-attachments legend{
  font-size:17px;
  line-height:1.25;
  margin:0 0 10px;
  color:#142033;
}
.vpp-linked .vpp-attachments .vpp-field-title{
  margin:0 0 7px!important;
  padding:0!important;
  text-align:left!important;
  float:none!important;
  color:#004baf!important;
  font-size:13px;
  line-height:1.25;
  font-weight:800;
}
.vpp-linked .vpp-attachments label{
  text-align:left!important;
  float:none!important;
  width:100%;
}
.vpp-linked .vpp-attachments input[type=file]{
  width:100%;
  min-height:48px;
  padding:4px 8px!important;
  border:1px solid #c5d4e8!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#34445d!important;
  font-size:14px!important;
  line-height:1.3;
  box-shadow:none!important;
  cursor:pointer;
}
.vpp-linked .vpp-attachments input[type=file]::file-selector-button{
  appearance:none;
  border:0;
  border-radius:8px;
  background:#004baf;
  color:#fff;
  padding:9px 14px;
  margin:0 12px 0 0;
  font:800 13px/1.2 Nunito,Arial,sans-serif;
  cursor:pointer;
  transition:background-color .16s ease,transform .16s ease;
}
.vpp-linked .vpp-attachments input[type=file]::-webkit-file-upload-button{
  appearance:none;
  border:0;
  border-radius:8px;
  background:#004baf;
  color:#fff;
  padding:9px 14px;
  margin:0 12px 0 0;
  font:800 13px/1.2 Nunito,Arial,sans-serif;
  cursor:pointer;
}
.vpp-linked .vpp-attachments input[type=file]:hover::file-selector-button{
  background:#003f94;
}
.vpp-linked .vpp-attachments input[type=file]:active::file-selector-button{
  transform:translateY(1px);
}
.vpp-linked .vpp-attachments .vpp-file-help,
.vpp-linked .vpp-attachments .vpp-variable-file-help,
.vpp-linked .vpp-attachments .vpp-custom-file-help{
  margin:7px 0 10px;
  font-size:13px;
  line-height:1.42;
  color:#526075;
}
.vpp-linked .vpp-attachments [data-vpp-file-observations]{
  margin-top:2px;
}
.vpp-linked .vpp-attachments textarea{
  min-height:96px;
  padding:10px 12px;
  font-size:14px;
  line-height:1.4;
  border-color:#c5d4e8;
  border-radius:10px;
  box-shadow:none;
}
.vpp-linked .vpp-attachments textarea::placeholder{
  color:#8a95a5;
  opacity:1;
}
@media(max-width:767px){
  .vpp-linked .vpp-attachments{font-size:14px}
  .vpp-linked .vpp-attachments legend{font-size:16px}
  .vpp-linked .vpp-attachments input[type=file]{font-size:13px!important}
  .vpp-linked .vpp-attachments input[type=file]::file-selector-button,
  .vpp-linked .vpp-attachments input[type=file]::-webkit-file-upload-button{padding:9px 12px;font-size:12px}
  .vpp-linked .vpp-attachments textarea{min-height:90px;font-size:13px}
}
