/* ==== OLD: wrapper + basic form ==== */
.b2b-search-wrapper { position: relative; max-width: 800px; margin: 0 auto; }
.b2b-search-form input[type="search"] {
    flex: 1;
    padding: .75rem 1rem;
    border: 1px solid #ddd;
    border-radius: .5rem;
    outline: none;
}
.b2b-search-form .b2b-search-btn {
    padding: 12px 24px;
    border-radius: 30px;
    background-color: var(--fl-global-b2b-orange);
    border: 2px solid var(--fl-global-b2b-orange);
    color: #ffffff;
    margin-left: 4px;
    font-family: "Noto Sans", sans-serif;
    font-weight: 600;
    font-size: var(--font-size-small);
    letter-spacing: 0.07rem;
    text-decoration: none;
    cursor: pointer;
}

/* Result dropdown – frame only, content will be styled by .b2b-results */
.b2b-search-dropdown {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 126%;
    z-index: 50;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    box-shadow: 0 14px 40px rgba(0,0,0,.12);
    max-height: 70vh;
    overflow: auto;
    padding: 0; 
}
.b2b-empty { 
    padding: 1.25rem 1.5rem; 
    color: #242429; 
}

.b2b-group { padding: .75rem; border-top: 1px solid #f3f4f6; }
.b2b-group:first-child { border-top: 0; }
.b2b-group-title { font-weight: 600; font-size: .9rem; margin-bottom: .5rem; color: #111827; }

.b2b-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: .5rem;
}
.b2b-item {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: .75rem;
    align-items: center;
    padding: .5rem;
    border-radius: .5rem;
    cursor: pointer;
}
.b2b-item:hover { background: #f9fafb; }

.b2b-item .thumb {
    width: 48px;
    height: 48px;
    border-radius: .5rem;
    overflow: hidden;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
}
.b2b-item img { width: 100%; height: 100%; object-fit: cover; }
.b2b-item .meta .title { font-weight: 600; line-height: 1.2; }
.b2b-item .meta .type { font-size: .75rem; color: #6b7280; }

.b2b-view-all {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    font-weight: 400;
    text-decoration: none;
}
.fl-builder-content a.b2b-view-all:not(.fl-builder-submenu-link) {
    color: #242429;
}
.fl-builder-content a.b2b-view-all:not(.fl-builder-submenu-link):hover {
    text-decoration: none;
}

/* ==== ICON + OVERLAY + PANEL ==== */

/* Search button in the header */
.b2b-search-toggle {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: 12px;
}

.b2b-search-toggle-icon,
.b2b-search-icon {
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('/app/plugins/b2b-search/img/icon-search.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
}

/* Overlay blurs the entire screen when the search panel is open */
.b2b-search-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0,0,0, 0.25); 
    z-index: 9998;
    display: none;
}

/* When the panel is open → display overlay */
.b2b-search-wrapper.is-open .b2b-search-overlay {
    display: block;
}

/* The search bar is located near the top, fixed to the viewport */
.b2b-search-panel {
    position: fixed;
    top: 19.5%;
    left: 51.25%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 800px;
    z-index: 9999;
}

/* Separate style for form inside panel */
.b2b-search-panel .b2b-search-form {
    display: flex;
    align-items: center;
    border-radius: 12px;
    padding: 19px 21px;
    background: #ffffff;
    border: 1px solid #ddd;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Input inside the panel overrides the padding/outline */
.b2b-search-panel .b2b-search-form input[type="search"] {
    flex: 1 1 auto;
    border: none;
    outline: none;
    background: transparent;
    padding: 0;
}

/* The X button closes the panel */
.b2b-search-close {
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('/app/plugins/b2b-search/img/icon-close.png');
    background-repeat: no-repeat;
    background-position: center;
    background-color: transparent;
    border: none;
    margin-left: 8px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
}

/* Hide text for screen readers (used for labels, hidden submit button) */
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.fl-page .fl-builder-content .b2b-search-wrapper button.b2b-search-toggle:not(.fl-content-ui-button),
.fl-page .fl-builder-content .b2b-search-wrapper button.b2b-search-close:not(.fl-content-ui-button),
.fl-page .fl-builder-content .b2b-search-wrapper button.b2b-search-clear:not(.fl-content-ui-button) {
    border-color: unset;
}

/* Input + placeholder */
#b2b-search-input {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #7A7A7A;
    margin-left: 24px;
}

#b2b-search-input::placeholder,
#b2b-search-input::-webkit-input-placeholder,
#b2b-search-input:-ms-input-placeholder,
#b2b-search-input::-moz-placeholder {
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 18px;
    color: #7A7A7A;
    opacity: 1;
}

.b2b-search-form {
    display: flex;
    align-items: center;
}

/* Button Clear */
.fl-page .fl-builder-content .b2b-search-wrapper button.b2b-search-clear:not(.fl-content-ui-button) {
    background: none;
    border: none;
    color: var(--fl-global-b2b-orange, #F15A24);
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    font-size: 16px;
    cursor: pointer;
    padding: 0;
}

.b2b-search-clear[hidden] {
    display: none !important;
}

/* ========================================================= */
/*      NEW LAYOUT: "See Relevant Results" style             */
/* ========================================================= */

.b2b-results {
    padding: 24px 28px 20px;
    background: #F7F7F7;
}

@media (max-width: 768px) {
    .b2b-results {
        padding: 18px 16px 18px;
    }
}

.b2b-results-heading {
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #111827;
    margin-bottom: 24px;
}

/* Section wrapper (Technology & Experts, Insights & advice) */
.b2b-results-section {
    margin-bottom: 20px;
}

.b2b-section-title {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #EB5345;
    margin-bottom: 12px;
}

/* ===== Companies + Technologies: Technology & Experts ===== */
.b2b-company-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px 32px;
    background: white;
    border-radius: 8px;
    padding: 22px;
}

.b2b-card-company {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    text-decoration: none;
    color: #111827;
    padding: 8px 4px;
    border-radius: 12px;
    flex-direction: row;
    flex-wrap: wrap;
}

.b2b-card-company:hover {
    background: #FFFFFF;
}
.b2b-card-company-body {
    width: 70%;
}

.b2b-card-company-logo {
    width: 40px;
    height: 40px;
    border-radius: 4px;
    background: #FFFFFF;
    border: 1px solid #D6D6D6;
}

.b2b-card-company-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 4px;
}

.b2b-card-company-title {
    color:#00196C;
    font-family: "Hanken Grotesk", sans-serif;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 4px;
}

.b2b-card-company-desc {
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #7A7A7A;
}

/* ===== Insights & advice cards ===== */
.b2b-insights-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px;
    background: white;
    border-radius: 8px;
    padding: 22px;
}

.b2b-card-insight {
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border-radius: 8px;
    overflow: hidden;
    text-decoration: none;
    color: #111827;
}

.b2b-insight-thumb img {
    height: auto;
    aspect-ratio: 187 / 105;
    object-fit: cover;
    border-radius: 8px;
}

.b2b-insight-body {
    padding: 15px 0px;
}

.b2b-insight-type {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--fl-global-b2b-orange, #F15A24);
    margin-bottom: 4px;
}

.b2b-insight-title {
    font-family: "Open Sans", sans-serif;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
}

/* Footer "View all results" */
.b2b-results-footer {
    margin-top: 4px;
    text-align: right;
}

.b2b-results-footer .b2b-view-all {
    font-family: "Open Sans", sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: var(--fl-global-b2b-orange, #F15A24);
    text-decoration: none;
}

.b2b-results-footer .b2b-view-all:hover {
    text-decoration: underline;
}
.b2b-card-company-desc {
  display: -webkit-box;
  -webkit-line-clamp: 2; 
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.fl-builder-content a.b2b-view-all:not(.fl-builder-submenu-link):hover,
.fl-builder-content a.b2b-card-company:hover .b2b-card-company-desc
{
    color: unset;
    text-decoration: none;
}
.b2b-card-company-title:hover,
.b2b-insight-title:hover,
.fl-builder-content a.b2b-card-company:hover .b2b-card-company-title
{
    color: var(--fl-global-b2b-orange);
    text-decoration: underline;
}
.b2b-insight-thumb .access-ribbon{

  --ribbon-bg:#2AB673; 
  --ribbon-text:#fff;

  position:absolute;
  z-index:2;
  width:  var(--access-ribbon-length);
  height: 25px;
  bottom: 29px;
  right: -71px;
  transform-origin: 50% 50%;
  transform: rotate(-43.63deg);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background: var(--ribbon-bg);
  color: var(--ribbon-text);
  font-weight: bold;
  letter-spacing: 0.1rem;
  text-transform: uppercase;
  font-size: 10px;
  line-height: 1;
  pointer-events:none; 
  overflow: visible;   
}
.b2b-insight-thumb {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 8px;
}



/* Style For Search Result */

.b2b-results-page .b2b-results-container {
    max-width: 1218px;
    margin: 0 auto;
    padding: 53px 0px 60px;
}
.b2b-results-page
.b2b-results-header h1 {
    font-family: "Open Sans", sans-serif;
    font-size: 28px;
    font-weight: 600;
    margin: 0 0 4px;
}
.b2b-results-subtitle {
    margin: 0 0 20px;
    color: #6B7280;
    font-family: "Open Sans", sans-serif;
}
.b2b-facets {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}
.b2b-no-results {
    margin-top: 20px;
}

/* ===== Two-column layout ===== */
.b2b-results-layout {
    display: grid;
    grid-template-columns: 745px minmax(0, 1fr);
    gap: 83px;
    align-items: flex-start;
}

.b2b-section-heading {
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    line-height: 18px;
    font-weight: 700;
    margin-bottom: 25px;
    color: #242429;
}

.b2b-muted {
    color: #6B7280;
    font-family: "Open Sans", sans-serif;
}

/* ===== Technology & Experts (left) ===== */
.b2b-company-list {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.b2b-company-box {
    width: 100%;
    display: flex;
}
.b2b-company-card {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    padding: 29px 40px 33px 30px;
    border-radius: 15px;
    border: 1px solid #E5E7EB;
    background: #FFFFFF;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.b2b-company-logo {
    background-color: #fff;
    padding: 5.5px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-color: var(--fl-global-borders);
    border-width: 1px;
    border-style: solid;
    border-radius: 7px;
    object-fit: contain;
    
    
}
.b2b-company-logo img {
    width: 137px;
    height: 137px;
    object-fit: contain;
    aspect-ratio: auto 320/320;
    max-width: 137px;
}

.b2b-company-content {
    flex: 1 1 auto;
}

.b2b-company-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 6px;
}
.b2b-box-title {
    padding: 0px 20px;
}
.b2b-row-tech-type {
    display: flex;
    align-items: center;
}
.b2b-company-title {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 28px;
    margin: 0;
    margin-bottom: 10px;

}
.b2b-company-title a {
    color: var(--fl-global-b2b-blue);
    text-decoration: none;
}
.b2b-company-title a:hover {
    text-decoration: underline;
}

.b2b-company-cta {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    border-radius: 30px;
    background: var(--fl-global-b2b-orange, #F15A24);
    color: #FFFFFF;
    font-family: "Noto Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    line-height: 20px;
}
a.b2b-company-cta:hover {
    text-decoration: none;
    color: #fff;
    background-color: var(--fl-global-orange-darker);
}
.b2b-company-subtitle {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    line-height: 26px;
    color: #242429;
    margin: 0 0 4px;
}
.b2b-company-subtitle.tech {
    font-size: 16px;
    color: #7A7A7A;
    font-weight: 400;
    line-height: 21px;
    padding-left: 8px;
}

.b2b-company-excerpt {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    color: #242429;
    font-weight: 400;
    line-height: 26px;
    margin: 0;
}

/* ===== News & Insights (right) ===== */
.b2b-insights-list {
    display: flex;
    flex-direction: column;
    gap: 39px;
}

.b2b-insight-link {
    display: flex;
    text-decoration: none;
    color: inherit;
    flex-wrap: wrap;
}

.b2b-col--insights .b2b-insight-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.b2b-col--insights .b2b-insight-body {
    padding: 20px 0px 0px 0px;
}

.b2b-insight-type {
    font-family: "Open Sans", sans-serif;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--fl-global-b2b-orange, #F15A24);
    margin-bottom: 4px;
}

.b2b-col--insights .b2b-insight-title {
    font-family: "Hanken Grotesk", sans-serif;
    font-size: 18px;
    line-height: 24px;
    font-weight: 700;
    color: var(--fl-global-b2b-blue);
}
.b2b-col--insights .b2b-insight-title:hover {
    color: var(--fl-global-b2b-orange);
    text-decoration-color:var(--fl-global-b2b-orange);
}

/* ===== Pagination row ===== */
.b2b-results-footer-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
    gap: 16px;
}

.b2b-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 26px;
    margin: 0 2px;
    padding: 0 6px;
    font-size: 16px;
    font-family: "Open Sans", sans-serif;
    text-decoration: none;
    color: #242429;
    font-weight: 600;

}
.b2b-pagination .page-numbers.current {
    border: 1px solid var(--fl-global-b2b-orange);
    color: var(--fl-global-b2b-orange);
    border-radius: 5px;
}
.b2b-pagination .page-numbers:hover {
    background: #F3F4F6;
    color: var(--fl-global-b2b-orange);
}
.b2b-pagination .prev.page-numbers:hover,
.b2b-pagination .next.page-numbers:hover
{
    background: unset;
}
.b2b-page-arrow {
    font-size: 14px;
}

.b2b-results-count {
    font-family: "Open Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    color: #7A7A7A;
}
.b2b-page-arrow {
  display: inline-block;
  width: 12px; 
  height: 21px; 
  background-size: contain; 
  background-repeat: no-repeat;
  text-indent: -9999px; 
}
.b2b-page-arrow.previous {
    background-image: url('/app/plugins/b2b-search/img/previous.png');
}
.b2b-page-arrow.next {
    background-image: url('/app/plugins/b2b-search/img/next.png');
}
.fl-row-content-wrap.b2b-result-page-breadcrumb {
    background-color: #F7F7F7;
}
.b2b-result-page-breadcrumb .pp-breadcrumbs.pp-breadcrumbs-rankmath {
    display: none;
}
.b2b-result-page-breadcrumb .fl-module .pp-heading-content .pp-heading .heading-title span.title-text {
    display: unset;
}
.b2b-result-page-breadcrumb.heading-title .title-prefix,
.b2b-result-page-breadcrumb .heading-title .title-text
{
    font-family: "Hanken Grotesk", sans-serif;
    font-weight: 700;
    font-size: 36px;
}
.fl-builder-content .b2b-result-page-breadcrumb *:not(input):not(textarea):not(select):not(a):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fl-menu-mobile-toggle) .heading-title .title-prefix {
    color: #00196C;
}
.fl-builder-content .b2b-result-page-breadcrumb *:not(input):not(textarea):not(select):not(a):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.fl-menu-mobile-toggle) .heading-title .title-text {
    color: var(--fl-global-b2b-orange);
}
.fl-builder-content .fl-row .fl-row-content-wrap.b2b-result-page-breadcrumb {
    background: #F7F7F7;
}
.b2b-result-page-breadcrumb .fl-col-bg-color.fl-col-small {
    width: 100%;
}
/* ===== Responsive ===== */
@media (min-width: 1200px) {
    .b2b-results-container.container {
        width: 1218px;
    }
}
@media (max-width: 992px) {
    .b2b-results-layout {
        grid-template-columns: 1fr;
    }
    .b2b-insight-link {
        flex-direction: column;
    }
    .b2b-insight-thumb {
        flex: 0 0 auto;
    }
    .b2b-insight-thumb img {
        width: 100%;
        height: 160px;
    }
    .b2b-search-panel {
        width: 90%;
    }
}
@media (max-width: 820px) {
    .b2b-results-page .b2b-results-container {
        padding: 53px 40px 60px 40px;
    }
}

@media (max-width: 640px) {
    .b2b-results-page .b2b-results-container {
        padding: 24px 40px 40px;
    }
}
@media (max-width: 551px) {
  .b2b-results-layout {
    display: block;
    gap: 30px;
  }

  .b2b-insight-link {
    flex-direction: column;
    align-items: stretch;
  }

  .b2b-insight-thumb img {
    width: 100%;
    height: auto; 
  }

  .b2b-results-layout > * {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .b2b-company-cta {
    display: none;
  }
  .b2b-results-page .b2b-results-container.container {
    padding: 24px 20px 20px;
  }
  .fl-builder-content .fl-row .fl-row-content-wrap.b2b-result-page-breadcrumb {
    padding: 0px;
  }
  .fl-row-content-wrap.b2b-result-page-breadcrumb .fl-col-group:first-child
  {
    display: none;
  }
  .b2b-results-footer-row {
    margin-bottom: 20px;
  }
  .b2b-company-card {
    padding: 20px;
  }
  .b2b-insight-thumb .access-ribbon {
    bottom: 27px;
    right: -52px;
  }
  .fl-row-content-wrap.b2b-result-page-breadcrumb .fl-col-group .fl-col:nth-child(2) {
    display: none;
  }
  .fl-row-content-wrap.b2b-result-page-breadcrumb .fl-col-group .fl-col:first-child .fl-col-content {
    margin-bottom: 0px;
  }
  .fl-row-content-wrap.b2b-result-page-breadcrumb .fl-col-group .fl-col.fl-col-smal {
    margin-left: 0px;
    margin-right: 0px;
  }
  .fl-row-content-wrap.b2b-result-page-breadcrumb .fl-col-small:not(.fl-col-small-full-width) {
    max-width: unset;
  }
  .b2b-company-logo img {
    width: 80px;
    height: 80px;
    max-width: 80px;
  }
  .b2b-company-title {
    font-size: 22px;
    margin-bottom: 0px;
  }
  .b2b-company-subtitle,
  .b2b-company-excerpt
  {
    font-size: 14px;
  }
}

