:root {
--tm-accent: #0066cc; --tm-border: #e3e3e3;
--tm-zebra:  #f2f7fc;
--tm-warn:   #c62828;
--tm-info:   #1565c0;
--tm-ok:     #2e7d32;
--tm-radius: 8px;
} .tm-product-row {
display: flex;
flex-wrap: wrap;
gap: 4rem;
align-items: flex-start;
}
.tm-product-desc  { flex: 1 1 50%; min-width: 300px; }
.tm-product-facts { flex: 1 1 40%; min-width: 300px; }
.tm-product-row.tm-no-facts .tm-product-desc { flex-basis: 100%; }
@media (max-width: 781px) {
.tm-product-row { gap: 1.5rem; }
.tm-product-desc,
.tm-product-facts { flex-basis: 100%; min-width: 0; }
} .tm-section-title {
font-size: 1.4rem;
line-height: 1.2;
margin: 0 0 1rem;
color: var(--tm-accent);
}
.tm-subtitle {
font-size: 1.05rem;
margin: 1.25rem 0 .5rem;
color: var(--tm-accent);
} .tm-product-desc h2 { font-size: 1.25rem; margin: 1.5rem 0 .75rem; }
.tm-product-desc h3 { font-size: 1.05rem; margin: 1.25rem 0 .5rem; color: var(--tm-accent); }
.tm-product-desc ul { list-style: none; padding-left: 0; margin: 0 0 1rem; }
.tm-product-desc ul li {
position: relative;
padding-left: 1.4rem;
margin-bottom: .5rem;
text-align: justify;
}
.tm-product-desc ul li::before {
content: "";
position: absolute;
left: 0; top: .55em;
width: .5rem; height: .5rem;
border-radius: 50%;
background: var(--tm-accent);
}
.tm-product-desc table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.tm-product-desc table th,
.tm-product-desc table td { border: 1px solid var(--tm-border); padding: .5rem .65rem; text-align: left; } .aivi { margin: 0 0 1.25rem; }
.aivi-inner { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.aivi-link {
display: inline-block;
padding: .4rem .9rem;
border: 1px solid var(--tm-accent);
border-radius: 999px;
font-size: .9rem;
text-decoration: none;
color: var(--tm-accent);
transition: background .15s, color .15s;
}
.aivi-link:hover { background: var(--tm-accent); color: #fff; } .tm-instruction-block { margin-top: 1.5rem; }
.tm-ib-title {
font-size: 1.05rem;
margin: 1.25rem 0 .4rem;
padding-bottom: .3rem;
border-bottom: 2px solid var(--tm-accent);
color: var(--tm-accent);
}
.tm-ib-content { text-align: justify; margin-bottom: .5rem; }
.tm-ib-content p { margin: .25rem 0; } .tm-precaution-list {
list-style: none;
padding: 0;
margin: .75rem 0 0;
display: flex;
flex-wrap: wrap;
gap: .75rem;
}
.tm-pbadge {
display: flex;
align-items: center;
gap: .5rem;
padding: .5rem .85rem;
border-radius: var(--tm-radius);
font-size: .85rem;
border: 1px solid transparent;
}
.tm-pbadge img { width: 28px; height: 28px; flex: 0 0 auto; }
.tm-pbadge--warning { background: #fdecea; border-color: var(--tm-warn); color: var(--tm-warn); }
.tm-pbadge--info    { background: #e8f0fb; border-color: var(--tm-info); color: var(--tm-info); }
.tm-pbadge--ok      { background: #e9f5ea; border-color: var(--tm-ok);   color: var(--tm-ok); } .tm-facts-box {
border: 1px solid var(--tm-border);
border-radius: var(--tm-radius);
padding: 1.25rem;
background: #fff;
}
.tm-facts-meta { margin: 0 0 .35rem; font-weight: 600; }
.tm-facts-meta span { font-weight: 400; }
.tm-facts-table { width: 100%; border-collapse: collapse; margin: .75rem 0; font-size: .85rem; }
.tm-facts-table thead th {
background: linear-gradient(45deg, #06c, #02cbfb);
color: #303030;
font-weight: 600;
text-align: left;
padding: .5rem .6rem;
vertical-align: top;
}
.tm-facts-table tbody td { border-bottom: 1px solid var(--tm-border); padding: .5rem .6rem; vertical-align: top; }
.tm-facts-table tbody tr:nth-child(even) td { background: var(--tm-zebra); }
.tm-facts-table .tm-col-amount,
.tm-facts-table .tm-col-dv { white-space: nowrap; }
.tm-facts-footnote { font-size: .8rem; color: #666; margin: .5rem 0 0; }
.tm-facts-excipients p { margin: .25rem 0; }
.tm-badge-list {
list-style: none;
padding: 0;
margin: 1.25rem 0 0;
display: flex;
flex-wrap: wrap;
gap: 1rem;
}
.tm-badge {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
width: 70px;
font-size: .72rem;
line-height: 1.2;
}
.tm-badge img { width: 70px; height: 70px; margin-bottom: .35rem; } .tm-badge--text {
width: auto;
flex-direction: row;
padding: .4rem .85rem;
border: 1px solid var(--tm-accent);
border-radius: 999px;
color: var(--tm-accent);
font-size: .8rem;
line-height: 1.2;
}