.vpp-linked{font-family:Nunito,Arial,sans-serif;margin:24px 0;padding:22px;border:1px solid #cbdcf4;border-radius:14px;background:#f7faff;color:#142033}.vpp-linked h3{font-size:21px;font-weight:800;color:#004baf}.vpp-linked label{display:block;font-weight:700;margin:14px 0}.vpp-linked input:not([type=hidden]):not([type=checkbox]),.vpp-linked select,.vpp-linked textarea{display:block;width:100%;padding:12px;border:1px solid #aebed2;border-radius:8px;font:inherit;background:white;color:#142033}.vpp-linked button{background:#004baf;color:white;border:0;border-radius:8px;padding:13px 18px;font-weight:700;margin:8px 8px 0 0;cursor:pointer}.vpp-linked button:disabled{opacity:.55;cursor:wait}.vpp-linked p{font-size:14px;line-height:1.5}.vpp-linked [hidden]{display:none!important}.vpp-linked details{border-top:1px solid #cbdcf4;padding:15px 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}

.vpp-attachments{border:1px solid #cbdcf4;border-radius:10px;padding:16px;margin:20px 0}.vpp-attachments legend{font-size:16px;font-weight:800;padding:0 8px;width:auto}.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}

/* 2.7.10: control táctil de cantidad compartido por ficha y carrito. */
.vpp-linked .vpp-personal-stepper{display:grid;grid-template-columns:44px 64px 44px;width:154px;max-width:100%;height:46px;border:1px solid #cad4e2;border-radius:9px;overflow:hidden;direction:ltr}
.vpp-linked .vpp-personal-stepper button{width:44px;height:44px;min-height:44px;margin:0!important;padding:0!important;border:0;border-radius:0;background:#f0f5fc;color:#004baf;font-size:18px;touch-action:manipulation}
.vpp-linked .vpp-personal-stepper input[name=quantity]{width:64px!important;min-width:0;height:44px;margin:0!important;padding:0!important;border:0;border-radius:0;text-align:center;font:700 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:14px 0}
.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-diploma-fields{grid-template-columns:minmax(0,1fr);gap:12px}.vpp-linked.vpp-diploma{padding:16px}.vpp-linked .vpp-diploma-field{padding:12px}}

/* 2.8.2: campos compactos y pares alineados en escritorio. */
.vpp-linked .vpp-diploma-field textarea{height:44px;min-height:44px;max-width:100%;padding:10px 12px;line-height:22px;overflow:auto}
@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}}
