.form-input, .form-textarea, .form-select {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 0.875rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.favorite-icon {
    transition: transform 0.2s ease, color 0.2s ease;
}

.favorite-icon:hover {
    transform: scale(1.1);
}

.favorite-icon.active {
    color: #dc2626;
}


/*typography*/
.u-content {
    font-size: inherit;
    line-height: 1.5em;
    color: inherit;
}

.u-content * {
    padding: 0;
    margin: 0;
    vertical-align: baseline;
}

/* .u-content a {
    color: #1b09e0;
}

.u-content a:hover {
    color: #1b09e0;
}

.u-content a:visited {
    color: #609;
} */

.u-content b,
.u-content strong {
    font-weight: 600;
}

.u-content p {
    margin: 0 0 1.5em 0;
    font-size: inherit;
}



.u-content p:after {
    content: '';
    clear: both;
    display: table;
}

.u-content img {
    max-width: 100%;
    height: auto;
    /*width: 100% !important;*/
}

.u-content img[style*='float:left'],
.u-content img[style*='float: left'] {
    margin: 0.33em 1.25em 1.25em 0;
}

.u-content img[style*='float:right'],
.u-content img[style*='float: right'] {
    margin: 0.33em 0 1.25em 1.25em;
}

.u-content sup {
    vertical-align: super;
    font-size: 80%;
}

.u-content sub {
    vertical-align: sub;
    font-size: 80%;
}

.u-content h1,
.h1 {
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 600;
    margin: 0 0 0.5em 0;
    color: #1E1E1E;
}

.u-content h2,
.h2 {
    font-size: 1.5rem;
    line-height: 2.0rem;
    font-weight: 600;
    margin: 0 0 0.5em 0;
    color: #1E1E1E;
}


.u-content h3,
.u-content .h3,
.h3 {
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 600;
    margin: 0 0 0.5em 0;
    color: #1E1E1E;
}

.u-content h4,
.h4 {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 0.5em 0;
}

.u-content h5 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 0.5em 0;
}

.u-content h6 {
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 0.5em 0;
}


.u-content ul,
.u-content ol {
    margin: 0 0 1.5em 0em;
    list-style-position: inside;
}

.u-content ul>li {
    margin: 0 0 0.0em 0;
    font-size: 1em;
    line-height: 1.5em;
    list-style-type: disc;
}

.u-content ol>li {
    margin: 0 0 0.5em 0;
    font-size: 1em;
    line-height: 1.4em;
    list-style-type: decimal;
}

.u-content li ul,
.u-content li ol {
    margin: 0.5em 0 1em 3em;
}

.u-content hr {
    height: 0;
    line-height: 0;
    font-size: 0;
    display: block;
    border: none;
    border-bottom: solid 1px var(--blue-spb, #4E6AB5);
    margin: 15px 0;
}

.u-content table {
    width: 100% !important;
    height: auto !important;
    float: none;
    border-collapse: collapse;
    margin: 0 0 1.5em 0;
    max-width: 100%;
}

.u-content table[cellspacing] {
    border-collapse: separate;
}

.u-content table[cellspacing="0"] {
    border-collapse: collapse;
}

.u-content td,
.u-content th {
    padding: 0.5em 0.333em;
    font-size: 0.9em;
    line-height: 1.4em;
}

.u-content td.center {
    text-align: center;
}

.u-content th {
    font-weight: 700;
}

.u-content td p:last-child {
    margin-bottom: 0;
}

.u-content td[valign='middle'] {
    vertical-align: middle;
}

.u-content td[valign='top'] {
    vertical-align: top;
}

.u-content td[valign='bottom'] {
    vertical-align: bottom;
}

.u-content td img {
    max-width: inherit;
}


.u-content table[border="1"] td,
.u-content table[border="1"] th,
.u-content table td,
.u-content table th {
    border: solid 1px var(--blue-spb, #4E6AB5);
}

.u-content table[border="0"] td,
.u-content table[border="0"] th {
    border: none !important;
    padding: 0;
}

.u-content .table-responsive {
    min-height: .01%;
    overflow-x: auto;
}



