.wpa-product-buttons .button { width: 100%; text-align: center; padding: 12px; font-size: 16px; }
.wpa-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); z-index: 100001; display: flex; justify-content: center; align-items: center; }
.wpa-modal-content { background-color: #fff; padding: 25px; border-radius: 8px; width: 90%; max-width: 850px; max-height: 90vh; overflow-y: auto; position: relative; box-shadow: 0 5px 20px rgba(0,0,0,0.4); }
.wpa-close-button { position: absolute; top: 10px; right: 15px; background: none; border: none; font-size: 28px; cursor: pointer; color: #777; line-height: 1; }
.wpa-product-summary { display: flex; align-items: center; border-bottom: 1px solid #eee; padding-bottom: 15px; margin-bottom: 20px; gap: 20px; }
.wpa-product-summary img { max-width: 100px; height: auto; }
.wpa-progress-bar { display: flex; justify-content: space-between; margin-bottom: 30px; background-color: #f0f0f0; }
.wpa-progress-bar .step { flex: 1; text-align: center; padding: 10px 5px; color: #999; border-bottom: 4px solid transparent; }
.wpa-progress-bar .step.active { font-weight: bold; color: #222; border-bottom-color: #c80000; }
.wpa-step h2 { text-align: center; margin-bottom: 10px; color: #333; }
#wpa-prescription-header-title { text-align: center; font-size: 1.2em; color: #555; margin-bottom: 20px; }
.wpa-options-list { display: flex; flex-direction: column; gap: 10px; }
.wpa-option-card { border: 1px solid #ddd; padding: 20px; cursor: pointer; background: #f9f9f9; display: flex; align-items: center; }
.wpa-option-card:hover { border-color: #c80000; }
.wpa-option-card .wpa-option-icon { margin-right: 15px; width: 40px; height: 40px; object-fit: contain; }
.wpa-option-card .wpa-option-text p { margin: 0; font-size: 0.9em; color: #666; }
.wpa-prescription-options { display: flex; gap: 10px; justify-content: center; margin-bottom: 20px; border: 1px solid #e0e0e0; padding: 20px; border-radius: 5px; }
.wpa-prescription-choice { padding: 10px 20px; border: 1px solid #ccc; background: #f7f7f7; cursor: pointer; border-radius: 4px; }
.wpa-prescription-choice.selected { border-color: #c80000; background: #c80000; color: #fff; }
.wpa-prescription-form { text-align:center; margin-top:20px; }
.wpa-prescription-table { width: 100%; border-collapse: collapse; margin-top: 15px; }
.wpa-prescription-table th, .wpa-prescription-table td { border: 1px solid #ddd; padding: 8px; text-align: center; }
.wpa-prescription-table select, .wpa-prescription-table input, .wpa-extra-fields select { width: 100%; padding: 5px; color: #000 !important; }
.wpa-extra-fields { margin-top: 15px; text-align: left; max-width: 300px; margin-left: auto; margin-right: auto; }
.wpa-help-icon { display: inline-block; width: 16px; height: 16px; line-height: 16px; text-align: center; background: #ccc; color: #fff; border-radius: 50%; cursor: pointer; font-weight: bold; }
.wpa-options-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 15px; }
.wpa-package-card, .wpa-complement-card { box-sizing: border-box; border: 2px solid #ddd; padding: 15px; text-align: center; cursor: pointer; border-radius: 4px; display: flex; flex-direction: column; align-items: center; justify-content: space-between; }
.wpa-package-card img, .wpa-complement-card img { max-width: 100%; height: auto; margin-bottom: 10px; }
.wpa-package-card.selected, .wpa-complement-card.selected { border-color: #c80000; box-shadow: 0 0 10px rgba(200,0,0,0.3); }
.wpa-step-nav { margin-top: 30px; display: flex; justify-content: center; gap: 10px; border-top: 1px solid #eee; padding-top: 20px; }

/* --- NUEVO: Estilo para botón deshabilitado --- */
.wpa-open-wizard:disabled,
.wpa-open-wizard.wpa-button-disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
}


@media (max-width: 768px) {
    .wpa-modal-content { width: 95%; padding: 15px; }
    .wpa-product-summary { flex-direction: column; text-align: center; }
    .wpa-product-summary .wpa-product-info { order: 1; margin-bottom: 15px; }
    .wpa-product-summary img { order: 2; }
    .wpa-product-summary .wpa-subtotal { order: 3; margin-top: 10px; }
    .wpa-product-summary .price, .wpa-product-summary .wpa-subtotal { font-size: 1.3em; }
    .wpa-product-summary .price { font-weight: bold; }
    .wpa-progress-bar { grid-template-columns: 1fr 1fr; gap: 5px; display: grid; }
    .wpa-progress-bar .step { font-size: 0.8em; padding: 8px 2px; }
    .wpa-step h2 { font-size: 1.4em; }
    .wpa-options-grid { grid-template-columns: 1fr; }
    .wpa-prescription-options { flex-direction: column; }
    .wpa-prescription-table thead { display: none; }
    .wpa-prescription-table, .wpa-prescription-table tbody, .wpa-prescription-table tr, .wpa-prescription-table td { display: block; width: 100%; box-sizing: border-box; }
    .wpa-prescription-table tr { margin-bottom: 20px; border-bottom: 2px solid #f0f0f0; padding-bottom: 15px; }
    .wpa-prescription-table tr:last-child { border-bottom: none; }
    .wpa-prescription-table td { text-align: center; border: none; padding: 5px 0; }
    .wpa-prescription-table td[data-label]::before { content: attr(data-label); display: block; font-weight: bold; margin-bottom: 5px; color: #333; }
    .wpa-prescription-table td[data-label="Ojo"] { background: #f9f9f9; font-weight: bold; padding: 10px; border-radius: 4px; margin-bottom: 10px; }
}