/* Calculadora de Subrogación de Hipoteca */
.mortgage-subrogation-calculator {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px;
}

/* Header */
.mortgage-subrogation-header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.mortgage-subrogation-title h1 {
    margin: 0 0 8px 0;
    font-size: 2rem;
    font-weight: 700;
    color: #1f2937;
}

.mortgage-subrogation-title p {
    margin: 0;
    color: #6b7280;
    font-size: 1rem;
    line-height: 1.5;
}

/* Content Layout */
.mortgage-subrogation-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    align-items: start;
}

.disclaimer {
    display: flex;
    align-items: center;
    padding: 20px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 10px;
    font-weight: 500;
    font-size: 0.9rem;
    color: var(--color3);
    margin-bottom: calc(var(--tamanio-base) * 1rem);
}

.disclaimer p{
    line-height: normal;
    font-size: 1em;
    margin-bottom: 0px;
}

.disclaimer img{
    width: 40px; 
    vertical-align: middle; 
    margin-right: 8px;
}



.mortgage-subrogation-date-group .select-wrapper {
  position: relative; /* Necesario para que ::after se posicione dentro */
}

.mortgage-subrogation-date-group .select-wrapper select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  padding-right: 40px; /* deja espacio para la flecha */
}

.mortgage-subrogation-date-group .select-wrapper::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 60%;
  width: 5px;
  height: 5px;
  pointer-events: none;
  transform: translateY(-50%) rotate(-45deg);
  border-left: 2px solid #374151;
  border-bottom: 2px solid #374151;
}



@media (max-width: 768px) {
    .mortgage-subrogation-content {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

/* Form Styles */
.mortgage-subrogation-form {
    border-radius: 12px;
    padding-right: 0px;
}

.mortgage-subrogation-field {
    margin-bottom: 24px;
}

.mortgage-subrogation-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #374151;
    font-size: 0.95rem;
}

/* Toggle Buttons */
.mortgage-subrogation-toggle {
    display: flex;
    margin-bottom: 20px;
    background-color: rgba(0, 93, 104, 0.1);
    border-radius: 8px;
    padding: 5px;
    margin-top: 15px;
}

.mortgage-subrogation-toggle-btn {
    flex: 1;
    padding: 10px 16px;
    border: none;
    background: transparent;
    color: #005d68;
    font-weight: 600;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 0.9rem;
}

.mortgage-subrogation-toggle-btn.active {
    background: white;
    color: #005d68;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Input Groups */
.mortgage-subrogation-input-group {
    position: relative;
}

.mortgage-subrogation-input {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    background: #ffffff;
    transition: all 0.2s ease;
}

.mortgage-subrogation-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.mortgage-subrogation-unit {
    position: absolute;
    right: 35px;
    top: 60%;
    transform: translateY(-50%);
    color: var(--color3);
    font-weight: 500;
    pointer-events: none;
}

/* Sliders */
.mortgage-subrogation-slider-container {
    margin-top: 16px;
}

.mortgage-subrogation-slider {
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #e5e7eb;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
}

.mortgage-subrogation-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.mortgage-subrogation-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    cursor: pointer;
}

.mortgage-subrogation-slider-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 8px;
    font-size: 0.8rem;
    color: rgba(0, 93, 104, 0.6);
}

/* Select */
.mortgage-subrogation-date-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.mortgage-subrogation-time-group {
    display: grid;
    grid-template-columns: 1fr;
}

.mortgage-subrogation-select {
    padding: 12px 16px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    background: #ffffff;
    color: #374151;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.suffix{
    font-size: 1.4rem;
    opacity: .7;
    vertical-align: baseline;
    margin-left: .05em;
}

.mortgage-subrogation-select:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Results Section */
.mortgage-subrogation-results {
    border-radius: 12px;
    padding-left: 0px;
    position: sticky;
    top: 24px;
}

.mortgage-subrogation-results h3 {
    margin: 0 0 24px 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1f2937;
}

/* Result Cards */
.mortgage-subrogation-result-card {
    margin-bottom: 16px;
    overflow: hidden;
    transition: all 0.2s ease;
    background: #f8f9fa;
}

.mortgage-subrogation-result-header {
    display: flex;
    justify-content: space-between;
    padding: 16px 20px;
}

.mortgage-subrogation-result-type {
    font-size: 25px;
    font-weight: 700;
    color: var(--color3);
    margin-bottom: 10px;
}

.mortgage-subrogation-result-rate {
    font-weight: 700;
    color: #3b82f6;
    font-size: 1.1rem;
}

.mortgage-subrogation-result-details {
    padding: 16px 20px;
}

.mortgage-subrogation-result-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid #cacaca;
}

.mortgage-subrogation-current-contenedor-variable{
    color: #6b7280;
    font-size: 1rem;
    margin-bottom: 4px;
    margin-bottom: 20px;
}

.mortgage-subrogation-result-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.mortgage-subrogation-result-item .label {
    color: #666;
    font-size: 0.9rem;
}

.mortgage-subrogation-result-item .value {
    font-weight: 700;
    color: #1f2937;
}

.mortgage-subrogation-result-item .value.savings {
    color: var(--color3);
}

/* Current payment styles */
.mortgage-subrogation-current-payment {
    border-radius: 12px;
    margin-bottom: 24px;
}

.mortgage-subrogation-current-contenedor:last-child{
    border-bottom: none;
}
.mortgage-subrogation-current-contenedor-variable .mortgage-subrogation-current-texto {
    font-size: 1rem;
    margin-bottom: 4px;
    font-weight: 500;
}

.mortgage-subrogation-current-info .currency{
    position: static;
    color: var(--color3);
}

.mortgage-subrogation-current-amount .currency{
    font-weight: 400;
    color: #1f2937;
    position: static;
    font-size: 1.4rem;
    opacity: .7;
    vertical-align: baseline;
    margin-left: .05em;
}

.mortgage-subrogation-offer-payment .currency{
    font-weight: 400;
    color: #1f2937;
    position: static;
    font-size: 1.4rem;
    opacity: .7;
    vertical-align: baseline;
    margin-left: .05em;
}

.value.savings .currency {
    position: static;
    color: var(--color3);
}

.mortgage-subrogation-current-amount {
    font-size: 1.9rem;
    margin-bottom: 1rem;
    display: inline-block;
    min-width: 200px;
    white-space: nowrap;
    font-weight: 400;
}

.mortgage-subrogation-current-info {
    color: var(--color3);
    font-size: 0.9rem;
    margin-bottom: 4px;
    font-weight: 700;
}

.mortgage-subrogation-result-item.final{
    border-bottom: none;
}

.mortgage-subrogation-result-header{
    display: flex;
    flex-direction: column;
}

/* New offers section */
.mortgage-subrogation-new-offers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.mortgage-subrogation-offer-payment {
    font-size: 1.8rem;
    font-weight: 400;
    color: #1f2937;
    margin-bottom: 16px;
    padding: 0px 20px;
}

/* States */
.mortgage-subrogation-empty {
    text-align: center;
    padding: 48px 24px;
    color: #6b7280;
}

.mortgage-subrogation-empty .icon {
    font-size: 3rem;
    margin-bottom: 16px;
    opacity: 0.7;
}

/* CTA Section */
.action-button {
    text-align: center;
    margin-bottom: 20px;
    background-color: rgba(0, 93, 104, .2);
    padding: 30px;
    border-radius: 10px;
}

.titulollamada {
    margin: 0 0 8px 0;
    font-size: 1.3rem;
    font-weight: 700;
}

.textollamada {
    margin: 0 0 16px 0;
    font-weight: 400;
    font-size: 0.95rem;
}

.cta-button-expenses {
    background-color: var(--color3);
    color: #fff;
    border: none;
    padding: 15px 30px;
    border-radius: 8px;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(78, 205, 196, .3);
    width: 100%;
    margin-bottom: 10px;
}

.cta-button-expenses:hover {
    background: var(--color1);
    transform: translateY(-2px);
}

.mortgage-subrogation-current-texto{
    color: #6b7280;
    font-size: 0.9rem;
    margin-bottom: 4px;
    font-weight: 400;
}

.mortgage-subrogation-current-contenedor{
    display: flex;
    justify-content: space-between;
}

/* Responsive Design */
@media (max-width: 768px) {
    .mortgage-subrogation-new-offers {
        grid-template-columns: 1fr;
    }
    
    .mortgage-subrogation-calculator {
        padding: 16px;
    }
    
    .mortgage-subrogation-header {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    
    .mortgage-subrogation-title h1 {
        font-size: 1.75rem;
    }
    
    .mortgage-subrogation-form,
    .mortgage-subrogation-results {
        padding: 20px;
    }
    
    .mortgage-subrogation-date-group {
        grid-template-columns: 1fr;
    }
    
    .mortgage-subrogation-toggle-btn {
        padding: 12px 8px;
        font-size: 0.85rem;
    }
    
    .mortgage-subrogation-current-amount {
        font-size: 2rem;
    }
    
    .mortgage-subrogation-offer-payment {
        font-size: 1.5rem;
    }
}


.mortgage-subrogation-current-amount .currency,
.mortgage-subrogation-offer-payment .currency,
.mortgage-subrogation-current-amount .suffix,
.mortgage-subrogation-offer-payment .suffix{
  position: relative;
  top: -0.35em;        /* misma altura que .fraction */
  line-height: 1;
}

/* tu ajuste fino existente */
.fraction{
  font-size: 0.75em;
  line-height: 1;
  position: relative;
  top: -0.35em;
  margin-left: .12em;
  opacity: .8;
  font-weight: 400;
  color: var(--neutro2);
}

.mortgage-subrogation-current-amount .currency,
.mortgage-subrogation-offer-payment .currency{
  font-size: 0.70em;
  opacity: .7;
  vertical-align: baseline;
  right: 0px;
  color: var(--neutro2);
}

.mortgage-subrogation-current-amount .suffix,
.mortgage-subrogation-offer-payment .suffix{
  font-size: 0.70em;
  opacity: .7;
  color: var(--neutro2);
}