.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-12285 .elementor-element.elementor-element-27a66af{font-family:"Sofia Sans", Sans-serif;font-size:14px;font-weight:400;color:#0C0101;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-12285 .elementor-element.elementor-element-522204d .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-12285 .elementor-element.elementor-element-fe290a8{font-family:"Sofia Sans", Sans-serif;font-size:14px;font-weight:400;color:#0C0101;}.elementor-12285 .elementor-element.elementor-element-fc61155{font-family:"Sofia Sans", Sans-serif;font-size:14px;font-weight:400;color:#0C0101;}.elementor-12285 .elementor-element.elementor-element-f178898{font-family:"Sofia Sans", Sans-serif;font-size:14px;font-weight:400;color:#0C0101;}.elementor-12285 .elementor-element.elementor-element-ec945d4{font-family:"Sofia Sans", Sans-serif;font-size:14px;font-weight:400;color:#0C0101;}.elementor-12285 .elementor-element.elementor-element-d2a4cd9{font-family:"Sofia Sans", Sans-serif;font-size:14px;font-weight:400;color:#0C0101;}.elementor-12285 .elementor-element.elementor-element-b820438{font-family:"Sofia Sans", Sans-serif;font-size:14px;font-weight:400;color:#0C0101;}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS */@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap" );

/* Base styles */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
}

.uob-calculator-wrapper {
    font-family: 'Poppins', sans-serif;
    background-color: #f4f4f4;
    min-height: 100vh;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.uob-calculator-wrapper .calculator-container {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    width: 100%;
    max-width: 600px;
    margin: 10px auto;
    padding: 20px;
}

.uob-calculator-wrapper h1 {
    text-align: center;
    color: #333;
    margin-bottom: 25px;
    font-size: 1.5rem;
    line-height: 1.3;
}

.uob-calculator-wrapper .section {
    margin-bottom: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    padding: 15px;
}

.uob-calculator-wrapper .section h2 {
    color: #fff;
    margin: 0 0 15px 0;
    text-align: center;
    background-color: #4F81BD;
    padding: 12px;
    border-radius: 5px;
    font-size: 1.1rem;
}

/* Mobile-first input and output groups */
.uob-calculator-wrapper .input-group,
.uob-calculator-wrapper .output-group {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    margin-bottom: 15px;
    gap: 10px;
}

/* Label styling with multi-line support */
.uob-calculator-wrapper .input-group label,
.uob-calculator-wrapper .output-group span:first-child {
    flex: 1;
    font-weight: bold;
    color: #555;
    padding-right: 10px;
    box-sizing: border-box;
    line-height: 1.4;
    background-color: transparent !important;
}

/* Multi-line label styling */
.uob-calculator-wrapper .label-line1,
.uob-calculator-wrapper .label-line2 {
    display: block;
    background-color: transparent !important;
}

.uob-calculator-wrapper .label-line2 {
    font-size: 0.9rem;
    font-weight: normal;
    color: #666;
    margin-top: 2px;
}

/* Input styling */
.uob-calculator-wrapper .input-group input[type="number"],
.uob-calculator-wrapper .input-group input[type="text"],
.uob-calculator-wrapper .input-group select {
    flex: 0 0 auto;
    width: 35%;
    min-width: 120px;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
    text-align: center;
    background-color: #fff;
}

/* Custom dropdown styling */
.uob-calculator-wrapper .input-group select {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e" );
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px;
    padding-right: 32px;
}

/* Output styling */
.uob-calculator-wrapper .output-group span:last-child {
    flex-shrink: 0;
    background-color: #EBF1DE;
    padding: 8px;
    border-radius: 4px;
    text-align: right;
    min-width: 100px;
    font-weight: bold;
    color: #333;
}

/* Special styling for header rows (no calculated values) */
.uob-calculator-wrapper .output-group span:only-child {
    background-color: transparent !important;
    padding: 0;
    text-align: left;
    min-width: auto;
}

/* Fixed parameters styling */
.uob-calculator-wrapper .fixed-conditions .output-group span:last-child {
    background-color: #F5F5F5;
}

/* Indent for sub-items */
.uob-calculator-wrapper .output-group.indent {
    margin-left: 20px;
    font-size: 0.95rem;
}

/* Conditional styling for Yes/No */
.uob-calculator-wrapper #makesSense.yes {
    background-color: #D4F4DD !important;
    color: #2E7D32;
}

.uob-calculator-wrapper #makesSense.no {
    background-color: #FFEBEE !important;
    color: #C62828;
}

/* Bonus miles row specific styling */
.uob-calculator-wrapper .bonus-miles-row span:first-child {
    flex: 1;
    white-space: normal;
    font-weight: bold;
    color: #555;
    padding-right: 15px;
    box-sizing: border-box;
    line-height: 1.4;
    background-color: transparent !important;
}

.uob-calculator-wrapper .bonus-miles-row span:last-child {
    flex-shrink: 0;
    background-color: #EBF1DE;
    padding: 8px;
    border-radius: 4px;
    text-align: right;
    min-width: 100px;
    font-weight: bold;
    color: #333;
    align-self: flex-start;
}

/* Tablet layout (768px to 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
    .uob-calculator-wrapper .input-group,
    .uob-calculator-wrapper .output-group {
        flex-direction: row;
        align-items: center;
    }
    
    .uob-calculator-wrapper .input-group input[type="number"],
    .uob-calculator-wrapper .input-group input[type="text"],
    .uob-calculator-wrapper .input-group select {
        width: 40%;
        min-width: 140px;
    }
    
    .uob-calculator-wrapper .label-line1::after {
        content: " ";
    }
}

/* Desktop layout (1024px and above) */
@media (min-width: 1024px) {
    .uob-calculator-wrapper .input-group,
    .uob-calculator-wrapper .output-group {
        flex-direction: row;
        align-items: center;
    }
    
    .uob-calculator-wrapper .input-group input[type="number"],
    .uob-calculator-wrapper .input-group input[type="text"],
    .uob-calculator-wrapper .input-group select {
        width: 30%;
        min-width: 150px;
    }
    
    .uob-calculator-wrapper .label-line1::after {
        content: " ";
    }
}

/* Focus states for better accessibility */
.uob-calculator-wrapper input:focus,
.uob-calculator-wrapper select:focus {
    outline: 2px solid #4F81BD;
    outline-offset: 2px;
}

/* Touch-friendly sizing for mobile */
@media (max-width: 767px) {
    .uob-calculator-wrapper .input-group input[type="number"],
    .uob-calculator-wrapper .input-group input[type="text"],
    .uob-calculator-wrapper .input-group select {
        min-height: 44px; /* iOS recommended touch target size */
    }
}

/* Very small screens optimization */
@media (max-width: 320px) {
    .uob-calculator-wrapper .calculator-container {
        padding: 15px;
    }
    
    .uob-calculator-wrapper h1 {
        font-size: 1.3rem;
    }
    
    .uob-calculator-wrapper .section {
        padding: 12px;
    }
    
    .uob-calculator-wrapper .section h2 {
        font-size: 1rem;
        padding: 10px;
    }
    
    .uob-calculator-wrapper .input-group label,
    .uob-calculator-wrapper .output-group span:first-child {
        font-size: 0.9rem;
    }
}/* End custom CSS */