:root {
--gf-accent: #146629; --gf-header: #073012; --gf-border: #e3e3e3;
--gf-zebra:  #eef4ef;
--gf-warn:   #c62828;
--gf-info:   #1565c0;
--gf-ok:     #146629;
--gf-radius: 8px;
} .gf-product-row {
display: flex;
flex-wrap: wrap;
gap: 4rem;
align-items: flex-start;
}
.gf-product-desc  { flex: 1 1 55%; min-width: 300px; }
.gf-product-facts { flex: 1 1 35%; min-width: 300px; }
.gf-product-row.gf-no-facts .gf-product-desc { flex-basis: 100%; }
@media (max-width: 781px) {
.gf-product-row { gap: 1.5rem; }
.gf-product-desc,
.gf-product-facts { flex-basis: 100%; min-width: 0; }
} .gf-section-title {
font-size: 1.4rem;
line-height: 1.2;
margin: 0 0 1rem;
color: var(--gf-accent);
}
.gf-subtitle {
font-size: 1.05rem;
margin: 1.25rem 0 .5rem;
color: var(--gf-accent);
} .gf-product-desc h2 { margin: 1.5rem 0 .75rem; }
.gf-product-desc h3 { font-size: 1.05rem; margin: 1.25rem 0 .5rem; color: var(--gf-accent); }
.gf-product-desc ul { list-style: none; padding-left: 0; margin: 0 0 1rem; }
.gf-product-desc ul li {
position: relative;
padding-left: 1.4rem;
margin-bottom: .5rem;
text-align: justify;
}
.gf-product-desc ul li::before {
content: "";
position: absolute;
left: 0; top: .55em;
width: .5rem; height: .5rem;
border-radius: 50%;
background: var(--gf-accent);
}
.gf-product-desc table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.gf-product-desc table th,
.gf-product-desc table td { border: 1px solid var(--gf-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(--gf-accent);
border-radius: 999px;
font-size: .9rem;
text-decoration: none;
color: var(--gf-accent);
transition: background .15s, color .15s;
}
.aivi-link:hover { background: var(--gf-accent); color: #fff; } .gf-instruction-block { margin-top: 1.5rem; }
.gf-ib-title {
font-size: 1.05rem;
margin: 1.25rem 0 .4rem;
padding-bottom: .3rem;
border-bottom: 2px solid var(--gf-accent);
color: var(--gf-accent);
}
.gf-ib-content { text-align: justify; margin-bottom: .5rem; }
.gf-ib-content p { margin: .25rem 0; } .gf-precaution-list {
list-style: none;
padding: 0;
margin: .75rem 0 0;
display: flex;
flex-wrap: wrap;
gap: .75rem;
}
.gf-pbadge {
display: flex;
align-items: center;
gap: .5rem;
padding: .5rem .85rem;
border-radius: var(--gf-radius);
font-size: .85rem;
border: 1px solid transparent;
}
.gf-pbadge img { width: 28px; height: 28px; flex: 0 0 auto; }
.gf-pbadge--warning { background: #fdecea; border-color: var(--gf-warn); color: var(--gf-warn); }
.gf-pbadge--info    { background: #e8f0fb; border-color: var(--gf-info); color: var(--gf-info); }
.gf-pbadge--ok      { background: #e9f5ea; border-color: var(--gf-ok);   color: var(--gf-ok); } .gf-facts-box {
border: 1px solid var(--gf-border);
border-radius: var(--gf-radius);
padding: 1.25rem;
background: #fff;
}
.gf-facts-meta { margin: 0 0 .55rem; font-weight: 600; font-size: .95rem; line-height: normal;}
.gf-facts-meta span { font-weight: 400; }
.gf-facts-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0 .8rem; font-size: .85rem; }
.gf-facts-table thead th {
background: var(--gf-header);
color: #fff;
font-weight: 600;
text-align: left;
padding: .5rem .6rem;
vertical-align: top;
word-break: normal;
}
.gf-facts-table tbody td { border-bottom: 1px solid var(--gf-border); padding: .5rem .6rem; vertical-align: top; word-break: normal; line-height: normal; font-size: .9rem;}
.gf-facts-table tbody tr:nth-child(even) td { background: var(--gf-zebra); }
.gf-facts-table .gf-col-amount,
.gf-facts-table .gf-col-dv { white-space: normal; line-height: normal; }
.gf-facts-footnote { font-size: .75rem; color: #666; margin: 0 0 0; }
.gf-facts-excipients p { margin: .25rem 0; font-size: .9rem; line-height: normal;}
.gf-badge-list {
list-style: none;
padding-left: 0!important;
margin: 1.25rem 0 0;
display: inline-block;
flex-wrap: wrap;
gap: 1rem;
}
.gf-badge {
display: flex;
flex-direction: column;
align-items: start;
text-align: center;
width: 50%;
font-size: 5px;
color: #fff;
line-height: 0;
float: left;
}
.gf-badge img { width: 100%; max-width: 100% !important; height: auto; margin-bottom: .35rem; } .gf-badge--text {
width: auto;
flex-direction: row;
padding: .4rem .85rem;
border: 1px solid var(--gf-accent);
border-radius: 999px;
color: var(--gf-accent);
font-size: .8rem;
line-height: 1.2;
}