/* =========================================
   Basic-Fit Annual Report 2025 - Content Styles
   Styles for elements within page-main-content
   ========================================= */

/* -------------------------
   Typography within Content
   ------------------------- */

/* Headings */
.page-main-content h1,
.page-main-content .bf-h1 {
   font-family: var(--font-treble);
   font-size: 2.375rem;
   line-height: 34px;
   font-weight: 800;
   color: var(--bf-orange);
   margin-bottom: 32px;
}

.page-main-content h2,
.page-main-content .bf-h2 {
   font-family: var(--font-treble);
   font-size: 1.3125rem;
   line-height: 21px;
   font-weight: 800;
   color: var(--bf-orange);
   margin-top: var(--spacing-lg);
   margin-bottom: var(--spacing-sm);
}

.page-main-content h3,
.page-main-content .bf-h3 {
   font-family: var(--font-treble);
   font-size: 0.8125rem;
   line-height: 16px;
   font-weight: 800;
   color: var(--bf-orange);
   margin-top: var(--spacing-md);
   margin-bottom: var(--spacing-sm);
}

.page-main-content h3:first-child {
   margin-top: 0;
}

.page-main-content h4 {
   font-family: var(--font-treble);
   font-size: 0.6875rem;
   line-height: 14px;
   font-weight: 800;
   color: var(--bf-anthracite);
   margin-top: var(--spacing-sm);
   margin-bottom: var(--spacing-xs);
}

.page-main-content h5 {
   font-family: var(--font-treble);
   font-size: 0.625rem;
   line-height: 13px;
   font-weight: 700;
   color: var(--bf-anthracite);
   margin-top: var(--spacing-sm);
   margin-bottom: var(--spacing-xs);
}

.page-main-content h6 {
   font-family: var(--font-treble);
   font-size: 0.5625rem;
   line-height: 12px;
   font-weight: 700;
   color: var(--bf-anthracite);
   margin-top: var(--spacing-sm);
   margin-bottom: var(--spacing-xs);
}

/* Paragraphs and Text */
.page-main-content p {
   font-family: var(--font-double);
   font-size: 0.6875rem;
   line-height: 16px;
   font-weight: 500;
   color: var(--bf-anthracite);
   margin: 0 0 var(--spacing-sm);
}

.page-main-content p strong,
.page-main-content p b {
   font-weight: 800;
}

.page-main-content p em,
.page-main-content p i {
   font-style: italic;
}

/* Links */
.page-main-content a {
   color: var(--bf-anthracite);
   text-decoration: underline;
}

.page-main-content a:hover {
   color: var(--bf-orange);
}

/* -------------------------
   Lists within Content
   ------------------------- */

.page-main-content ul,
.page-main-content ol {
   font-family: var(--font-double);
   font-size: 0.6875rem;
   line-height: 16px;
   color: var(--bf-anthracite);
   margin: 0 0 var(--spacing-sm);
   padding-left: var(--spacing-md);
}

.page-main-content ul li,
.page-main-content ol li {
   margin-bottom: 4px;
}

.page-main-content ul ul,
.page-main-content ol ol,
.page-main-content ul ol,
.page-main-content ol ul {
   margin-top: 4px;
   margin-bottom: 4px;
}

/* -------------------------
   Tables within Content
   ------------------------- */

.bf-page-main-content .table-wrapper,
.page-main-content .table-wrapper {
   background: white !important;
   padding: .25rem;
   margin: 0 0 var(--spacing-md) 0;
}

.bf-page-main-content table,
.page-main-content table {
   border: none;
   width: 100% !important;
   margin: 0;
   border-collapse: collapse;
   font-family: var(--font-double);
   font-size: 0.6875rem;
   line-height: 1.25;
   background-color: white !important;
}

.bf-page-main-content table th.risk-card-sand,
.bf-page-main-content table td.risk-card-sand {
   border-color: var(--bf-white);
   background-color: var(--bf-sand);
   color: var(--bf-anthracite);
}

.bf-page-main-content table th.risk-card-dark-sand,
.bf-page-main-content table td.risk-card-dark-sand {
   border-color: var(--bf-white);
   color: var(--bf-anthracite);
   background-color: var(--bf-dark-sand);

}

.bf-page-main-content table th.risk-card-lilac,
.bf-page-main-content table td.risk-card-lilac {
   border-color: var(--bf-white);
   color: var(--bf-anthracite);
   background-color: var(--bf-lilac);
}

.bf-page-main-content table thead tr,
.page-main-content table thead tr {
   border-top: none;
}

.bf-page-main-content table tbody,
.page-main-content table tbody {
   border-top: none !important;
}

.bf-page-main-content table th,
.page-main-content table th {
   border: none;
   font-family: var(--font-treble);
   font-weight: 800;
   text-align: left;
   padding: .25rem;
   color: var(--bf-orange);
}

.bf-page-main-content table th.right,
.bf-page-main-content table td.right,
.page-main-content table th.right,
.page-main-content table td.right {
   text-align: right;
}

.bf-page-main-content table th em,
.page-main-content table th em {
   font-weight: 200;
   font-style: normal;
}

.bf-page-main-content table tr,
.page-main-content table tr {
   border-top: .5px solid var(--bf-anthracite);
}

.bf-page-main-content table tr:last-child,
.page-main-content table tr:last-child {
   border-bottom: .5px solid var(--bf-anthracite);
}

.bf-page-main-content table th,
.bf-page-main-content table td,
.page-main-content table th,
.page-main-content table td {
   min-height: 1rem;
   padding: .25rem;
}

.bf-page-main-content table td.current-year,
.page-main-content table td.current-year {
   font-weight: 800;
}

.bf-page-main-content table td.previous-year,
.page-main-content table td.previous-year {
   font-weight: 200;
}


.bf-page-main-content table td.fin-figure,
.page-main-content table td.fin-figure {
   text-align: right;
   display: table-cell !important;
}


.page-main-content table tr.total {
   border-top: 1px solid var(--bf-anthracite);
}

.page-main-content table tr.total td {
   font-weight: 800;
   /* background-color: var(--bf-off-white); */
   /* border-top: 2px solid var(--bf-anthracite); */
}

.page-main-content table tr td a,
.page-main-content table tr.total td a {
   color: var(--bf-orange) !important;
   text-decoration: underline;
   font-weight: 200;
}

.bf-page-main-content table tr.heading,
.page-main-content table tr.heading {
   /* background-color: var(--bf-light-sand); */
}

.bf-page-main-content table tr.risk-card-orange td,
.page-main-content table tr.risk-card-orange td {
   /* background-color: rgba(254, 112, 0, 0.1); */
   /* border-left: 3px solid var(--bf-orange); */
}

/* Financial Statement Tables */
.bf-page-main-content table[format="standard"],
.page-main-content table[format="standard"] {
   margin: var(--spacing-lg) 0;
}

.bf-page-main-content table th[align="right"],
.bf-page-main-content table td[align="right"],
.bf-page-main-content table th[align="right"],
.bf-page-main-content table td[align="right"],
.page-main-content table th[align="right"],
.page-main-content table td[align="right"] {
   text-align: right;
}

.bf-page-main-content table th[align="left"],
.bf-page-main-content table td[align="left"],
.page-main-content table th[align="left"],
.page-main-content table td[align="left"] {
   text-align: left;
}

.bf-page-main-content table th[align="center"],
.bf-page-main-content table td[align="center"],
.page-main-content table th[align="center"],
.page-main-content table td[align="center"] {
   text-align: center;
}

.page-main-content table td[format="notes"] {
   font-size: 0.5625rem;
   color: var(--bf-purple);
}

/* -------------------------
   Special Content Elements
   ------------------------- */

/* Blockquotes */
.page-main-content blockquote {
   margin: var(--spacing-md) 0;
   padding: var(--spacing-sm) var(--spacing-md);
   border-left: 4px solid var(--bf-orange);
   background-color: var(--bf-off-white);
   font-style: italic;
}

.page-main-content blockquote p:last-child {
   margin-bottom: 0;
}

/* Highlight Blocks */
.page-main-content .highlightblock,
.page-main-content .alert {
   margin: var(--spacing-md) 0;
   padding: var(--spacing-sm);
   border-radius: var(--radius-sm);
   background-color: var(--bf-light-sand);
   border: 2px solid var(--bf-orange);
}

.page-main-content .highlightblock .title,
.page-main-content .alert .alert-heading {
   font-family: var(--font-treble);
   font-size: 0.75rem;
   font-weight: 800;
   color: var(--bf-orange);
   margin-bottom: var(--spacing-xs);
}

.page-main-content .alert-warning {
   background-color: rgba(255, 171, 33, 0.1);
   border-color: var(--bf-orange-light);
}

/* Code Blocks */
.bf-page-main-content pre,
.bf-page-main-content code,
.page-main-content pre,
.page-main-content code {
   font-family: 'Courier New', monospace;
   font-size: 0.625rem;
   background-color: var(--bf-off-white);
   padding: 2px 4px;
   border-radius: 2px;
}

.page-main-content pre {
   padding: var(--spacing-sm);
   overflow-x: auto;
   margin: var(--spacing-sm) 0;
}

/* Horizontal Rules */
.page-main-content hr {
   border: none;
   border-top: 1px solid var(--bf-sand);
   margin: var(--spacing-lg) 0;
}

/* Images and Figures */
.page-main-content img {
   max-width: 100%;
   height: auto;
   display: block;
   margin: var(--spacing-sm) 0;
}

.bf-page-main-content figure,
.page-main-content figure {
   margin: var(--spacing-md) 0;
}

.bf-page-main-content figcaption,
.page-main-content figcaption {
   font-size: 0.5625rem;
   line-height: 12px;
   color: var(--bf-anthracite);
   font-style: italic;
   margin-top: var(--spacing-xs);
}

/* -------------------------
   Sections within Content
   ------------------------- */

.page-main-content section {
   margin-bottom: var(--spacing-xl);
}

.page-main-content section:last-child {
   margin-bottom: 0;
}

/* -------------------------
   Spacing Utility Classes
   ------------------------- */

.page-main-content .content-block {
   margin-top: var(--spacing-lg);
}

.page-main-content .content-block-xl {
   margin-top: var(--spacing-xl);
}

.page-main-content .content-block-sm {
   margin-top: var(--spacing-md);
}

.page-main-content .spacing-lg {
   margin-top: var(--spacing-lg);
}

.page-main-content .spacing-md {
   margin-top: var(--spacing-md);
}

.page-main-content .spacing-sm {
   margin-top: var(--spacing-sm);
}

/* -------------------------
   Responsive Adjustments
   ------------------------- */

@media (max-width: 768px) {

   .bf-page-main-content h1,
   .bf-page-main-content .bf-h1,
   .bf-page-main-content h1,
   .bf-page-main-content .bf-h1,
   .page-main-content h1,
   .page-main-content .bf-h1 {
      font-size: 1.75rem;
      line-height: 26px;
   }

   .bf-page-main-content h2,
   .bf-page-main-content .bf-h2,
   .page-main-content h2,
   .page-main-content .bf-h2 {
      font-size: 1.125rem;
      line-height: 18px;
   }

   .bf-page-main-content table,
   .page-main-content table {
      font-size: 0.5625rem;
   }

   .bf-page-main-content table th,
   .bf-page-main-content table td,
   .page-main-content table th,
   .page-main-content table td {
      padding: 4px;
   }
}



/* === ESEF tables= */



tr.cBold td {
   /* border-top: 3px solid #2d2d2d !important; */
   border-top: 1px solid var(--bf-anthracite);
}




.iTableCoreData.smaller,
.iTableCoreData.smallest,
.iTableCoreData[style*="max-width:50%"],
.iTableCoreData[style*="max-width:100%"] {
   max-width: 100% !important;
   min-width: 100%;
}

@media only screen and (min-width: 760px) {

   .iTableCoreData.smaller,
   .iTableCoreData.smallest,
   .iTableCoreData[style*="max-width:50%"],
   .iTableCoreData[style*="max-width:100%"] {
      max-width: 840px !important;
   }
}

@media only screen and (min-width: 1040px) {

   .iTableCoreData.smaller,
   .iTableCoreData.smallest,
   .iTableCoreData[style*="max-width:50%"],
   .iTableCoreData[style*="max-width:100%"] {
      /* max-width: 64rem !important;
        width: 64rem;
        margin-left: -6rem; */
   }
}