/* Tims Nutrition Calculator — site-matched styling. All classes prefixed tt-. */
.tt-wrap {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #2B201A;
    line-height: 1.5;
}

.tt-note {
    font-size: 0.85em;
    color: #6b5a4e;
    margin: 12px 2px 0;
}

.tt-field {
    display: block;
}

.tt-field-label {
    display: block;
    font-weight: 600;
    color: #3B2314;
    margin-bottom: 6px;
    font-size: 0.95em;
}

.tt-field input,
.tt-field select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #EADBCB;
    border-radius: 10px;
    background: #fff;
    font: inherit;
    box-sizing: border-box;
}

.tt-field input:focus,
.tt-field select:focus {
    outline: 2px solid #C8102E;
    outline-offset: 1px;
    border-color: #C8102E;
}

.tt-btn {
    display: inline-block;
    background: #C8102E;
    color: #fff;
    border: 1px solid #C8102E;
    border-radius: 10px;
    padding: 11px 20px;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
}

.tt-btn:hover {
    background: #9E0C24;
    border-color: #9E0C24;
    color: #fff;
}

.tt-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.tt-btn-small {
    padding: 6px 12px;
    font-size: 0.9em;
}

.tt-btn-outline {
    background: #fff;
    color: #C8102E;
}

.tt-btn-outline:hover {
    background: #C8102E;
    color: #fff;
}

/* Calculator tool */
.tt-calc {
    background: #fff;
    border: 1px solid #EADBCB;
    border-radius: 14px;
    padding: 20px;
}

.tt-calc-picker {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: flex-end;
}

.tt-calc-item-field {
    flex: 1 1 260px;
}

.tt-calc-qty-field {
    flex: 0 1 90px;
}

.tt-calc-error {
    background: #fdf0f0;
    border: 1px solid #C8102E;
    color: #9E0C24;
    border-radius: 10px;
    padding: 10px 14px;
    margin: 14px 0 0;
}

.tt-calc-meal {
    margin-top: 22px;
}

.tt-calc-meal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.tt-calc-meal-title,
.tt-calc-totals-title {
    color: #3B2314;
    margin: 0 0 10px;
    font-size: 1.15em;
}

.tt-calc-empty {
    background: #FFF8F0;
    border: 1px dashed #EADBCB;
    border-radius: 10px;
    padding: 14px;
    margin: 0;
}

.tt-calc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tt-calc-entry {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    background: #FFF8F0;
    border: 1px solid #EADBCB;
    border-radius: 14px;
    padding: 12px 14px;
    margin-bottom: 10px;
}

.tt-calc-entry-title {
    display: block;
    font-weight: 600;
    color: #3B2314;
}

.tt-calc-entry-detail {
    display: block;
    font-size: 0.85em;
    color: #6b5a4e;
    margin-top: 3px;
}

.tt-calc-totals {
    margin-top: 22px;
    background: #FFF8F0;
    border: 1px solid #EADBCB;
    border-radius: 14px;
    padding: 16px;
}

.tt-calc-totals-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 10px;
}

.tt-calc-total {
    background: #fff;
    border: 1px solid #EADBCB;
    border-radius: 10px;
    padding: 10px;
    text-align: center;
}

.tt-calc-total-label {
    display: block;
    font-size: 0.78em;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #6b5a4e;
}

.tt-calc-total-value {
    display: block;
    color: #C8102E;
    font-size: 1.1em;
    margin-top: 2px;
}
