.elementor-5671 .elementor-element.elementor-element-7b7cfb5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-table-of-contents{--header-color:var( --e-global-color-secondary );--item-text-color:var( --e-global-color-text );--item-text-hover-color:var( --e-global-color-accent );--marker-color:var( --e-global-color-text );}.elementor-widget-table-of-contents .elementor-toc__header, .elementor-widget-table-of-contents .elementor-toc__header-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-table-of-contents .elementor-toc__list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-5671 .elementor-element.elementor-element-dccd0be .elementor-toc__header-title{text-align:start;}.elementor-5671 .elementor-element.elementor-element-dccd0be .elementor-toc__header{flex-direction:row;}.elementor-5671 .elementor-element.elementor-element-dccd0be{--item-text-hover-decoration:underline;}.elementor-5671 .elementor-element.elementor-element-9289d83{--display:flex;overflow:visible;}@media(max-width:1366px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-table-of-contents .elementor-toc__header, .elementor-widget-table-of-contents .elementor-toc__header-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-table-of-contents .elementor-toc__list-item{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-table-of-contents .elementor-toc__header, .elementor-widget-table-of-contents .elementor-toc__header-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-table-of-contents .elementor-toc__list-item{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-table-of-contents .elementor-toc__header, .elementor-widget-table-of-contents .elementor-toc__header-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-table-of-contents .elementor-toc__list-item{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}/* Start custom CSS for text-editor, class: .elementor-element-4eb80a0 */.elementor-5671 .elementor-element.elementor-element-4eb80a0 table {
  width: 100%;
  table-layout: fixed; /* Critical for controlling column widths */
  border-collapse: collapse;
}

.elementor-5671 .elementor-element.elementor-element-4eb80a0 table td,
.elementor-5671 .elementor-element.elementor-element-4eb80a0 table th {
  overflow-wrap: anywhere; /* Modern property that works better than break-word */
  word-wrap: break-word; /* Legacy fallback */
  -ms-word-break: break-all; /* IE support */
  word-break: break-all; /* For non-CJK text */
  word-break: break-word; /* Less aggressive than break-all */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}

/* Responsive container */
.elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-container {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Mobile styles */
@media only screen and (max-width: 767px) {
  /* Text size adjustment */
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 table {
    font-size: 14px;
  }
  
  /* Force all cells to have reasonable max-width */
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 table td, 
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 table th {
    max-width: 100vw; /* Viewport-based width constraint */
    padding: 8px;
  }
  
  /* Option 1: Vertical text display for long strings */
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-vertical-text .long-text {
    writing-mode: vertical-lr;
    text-orientation: mixed;
    white-space: nowrap;
    max-height: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  
  /* Option 2: Text truncation with ellipsis */
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-truncate .long-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    display: block;
  }
  
  /* Option 3: Responsive card layout */
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-cards {
    border: 0;
  }
  
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-cards thead {
    display: none;
  }
  
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-cards tr {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    background: #fff;
    padding: 10px;
  }
  
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-cards td {
    display: block;
    text-align: right;
    position: relative;
    padding: 10px 10px 10px 50%;
    border-bottom: 1px solid #eee;
  }
  
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-cards td:last-child {
    border-bottom: 0;
  }
  
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .table-cards td:before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
    width: 45%;
    text-align: left;
    font-weight: bold;
  }
  
  /* Tooltip for truncated text */
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .has-tooltip {
    position: relative;
  }
  
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .has-tooltip:hover:after {
    content: attr(data-full-text);
    position: absolute;
    left: 0;
    top: 100%;
    z-index: 10;
    background: #333;
    color: #fff;
    padding: 5px;
    border-radius: 3px;
    white-space: normal;
    word-break: break-word;
    max-width: 200px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
  }
}

/* Extra small screens */
@media only screen and (max-width: 480px) {
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 table {
    font-size: 12px;
  }
  
  /* For extremely long text */
  .elementor-5671 .elementor-element.elementor-element-4eb80a0 .ultra-long-text {
    font-size: 10px;
    letter-spacing: -0.5px;
  }
}/* End custom CSS */