/* =========================
   FRONT - Solicitud servicios
========================= */

#specialRateSection.special-items-section {
    padding: 12px 14px;
    border-radius: 14px;
}

#specialRateSection .special-items-title {
    font-size: 13px;
    line-height: 1.2;
}

#specialRateSection .special-items-help {
    font-size: 12px;
    line-height: 1.25;
}

#specialRateSection .special-items-switch {
    min-width: 62px;
}

#specialRateSection .form-check-input {
    cursor: pointer;
}

#specialRatePackageHint {
    font-size: 12px;
    padding: 7px 10px !important;
    border-radius: 9px;
}

.special-items-summary {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f8fafc;
    padding: 8px 10px;
    font-size: 12px;
}

.special-items-summary-head {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 4px;
}

.special-items-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid #e5e7eb;
}

.special-items-summary-line:last-child {
    border-bottom: 0;
}

.special-items-summary-name {
    font-size: 12px;
    line-height: 1.2;
}

.special-items-summary-meta {
    font-size: 11px;
    line-height: 1.25;
    color: #64748b;
}

.special-items-summary-total {
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}

.special-items-summary-footer {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding-top: 7px;
    font-size: 12px;
    font-weight: 700;
}

.special-items-mini-btn {
    width: 25px;
    height: 25px;
    font-size: 11px;
}

#openSpecialRateWizard {
    padding: 4px 9px;
    font-size: 12px;
}

.special-item-media {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #f1f5f9;
    color: #1d4ed8;
    overflow: hidden;
}

.special-item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.special-item-card {
    padding: 8px !important;
    border-radius: 11px !important;
}

.special-item-card-title {
    font-size: 13px;
    line-height: 1.2;
}

.special-item-card-meta {
    font-size: 11px;
    line-height: 1.25;
}

#specialRateWizardModal .modal-header {
    padding: 12px 16px;
}

#specialRateWizardModal .modal-body {
    padding: 12px 16px;
}

#specialRateWizardModal .modal-footer {
    padding: 10px 16px;
}

#specialRateWizardModal .modal-title {
    font-size: 16px;
}

#specialRateWizardModal label {
    font-size: 12px;
}

#specialRateLinePrice {
    font-size: 12px;
    padding: 8px 10px;
}

/* =========================
   ADMIN - Tarifas especiales
========================= */

.special-rate-child-row {
    background: #f8fafc;
}

.special-rate-icon-preview {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef3f8;
    color: #194070;
    font-size: 1.45rem;
}

.special-rate-image-preview {
    width: 56px;
    height: 56px;
    object-fit: cover;
}

.special-rate-question-input {
    min-width: 320px;
}

.special-rate-icon-menu {
    max-height: 260px;
    overflow-y: auto;
}

.special-rate-picker-avatar {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: #1d4ed8;
    font-size: 1.15rem;
    flex: 0 0 34px;
}

.special-rate-icon-menu .dropdown-item.active,
.special-rate-icon-menu .dropdown-item:active {
    background: #eef2ff;
    color: #1d4ed8;
    font-weight: 600;
}

.special-rate-current-image {
    width: 42px;
    height: 42px;
    object-fit: cover;
}

/* =========================
   ADMIN - Presupuestos
========================= */

.admin-special-rate-table-wrap {
    overflow: visible !important;
}

#adminSpecialRateTable,
#adminSpecialRateTable tbody,
#adminSpecialRateTable tr,
#adminSpecialRateTable td {
    overflow: visible !important;
}

.admin-special-item-picker {
    position: relative;
    width: 100%;
}

.admin-special-item-picker .admin-special-item-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    max-height: 280px;
    overflow-y: auto;
    z-index: 1060;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
    border: 1px solid #d8dee9;
    border-radius: 8px;
}

.admin-special-item-picker .admin-special-item-menu.show {
    position: static !important;
    transform: none !important;
    inset: auto !important;
    margin-top: 6px;
}

.admin-special-item-picker-btn {
    min-height: 42px;
    overflow: hidden;
}

.admin-special-item-picker-btn .js-admin-special-picker-label {
    color: inherit;
}

.admin-special-item-avatar {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    color: #1d4ed8;
    font-size: 1.1rem;
    overflow: hidden;
}

.admin-special-item-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.admin-special-item-option {
    color: #111827 !important;
    background: #ffffff !important;
    white-space: normal;
    padding: 8px 10px;
}

.admin-special-item-option:hover,
.admin-special-item-option:focus {
    background: #f3f6fb !important;
    color: #111827 !important;
}

.admin-special-item-option.active,
.admin-special-item-option.active:hover,
.admin-special-item-option.active:focus,
.admin-special-item-option:active {
    background: #eef2ff !important;
    color: #1d4ed8 !important;
    font-weight: 600;
}

.admin-special-item-option .admin-special-item-option-meta {
    font-size: 11px;
    line-height: 1.2;
    color: #6b7280 !important;
    font-weight: 400;
}

.admin-special-item-option.active .admin-special-item-option-meta,
.admin-special-item-option.active:hover .admin-special-item-option-meta,
.admin-special-item-option.active:focus .admin-special-item-option-meta {
    color: #475569 !important;
}

.admin-special-item-option .min-w-0 {
    min-width: 0;
}

/* Ajustes nuevos */
.special-rate-service-copy .form-label {
    font-weight: 600;
    color: #334155;
}

.special-item-card.is-selected {
    border-color: #1d4ed8 !important;
    background: #f8fbff !important;
    box-shadow: 0 0 0 1px rgba(29, 78, 216, 0.16);
}

.special-item-selected-badge {
    font-size: 10px;
    font-weight: 600;
}

.special-items-summary-content {
    flex: 1 1 auto;
    min-width: 0;
}

.special-items-summary-actions {
    flex: 0 0 auto;
    min-width: 70px;
}

.special-items-mini-btn {
    line-height: 1;
}

.proposal-live-total-box {
    background: #f8fafc;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    padding: 10px 12px;
    margin-top: 12px;
}

.special-rate-copy-textarea {
    min-height: 48px;
    resize: vertical;
    line-height: 1.25;
    font-size: 13px;
}

.special-rate-service-copy label {
    font-size: 11px;
    font-weight: 600;
    color: #334155;
}


/* Selector de cantidad de artículos especiales */
.special-rate-quantity-group {
    flex-wrap: nowrap;
}

.special-rate-quantity-group .js-special-quantity-step {
    width: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.special-rate-quantity-input {
    min-width: 70px;
    font-weight: 600;
}

.special-rate-quantity-input::-webkit-outer-spin-button,
.special-rate-quantity-input::-webkit-inner-spin-button {
    margin: 0;
}
