/*
Theme Name: iToolSolution
Author: 
Description: B2B. B2C. 2-in-1. Specialists in wholesale and trade platforms for importers, distributors, and manufacturers — built from first call to year five of growth.
Version: 1.0
Template: generatepress

This is the child theme for GeneratePress theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/

/* ==========================================================================
   iToolSolution design system  (added for the new home page)
   ========================================================================== */

:root {
    --its-dark:        #070a1d;
    --its-band:        #0d1230;
    --its-card:        #0f1533;
    --its-border:      #1b2247;
    --its-border-soft: #232b55;
    --its-lime:        #b5ff4d;
    --its-white:       #edf0ff;
    --its-muted:       #9aa5c9;
    --its-muted-dim:   #7c87ad;
    --its-purple:      #a78bfa;
    --gb-container-width: 1240px;
}

body {
    background-color: var(--its-dark);
    color: var(--its-muted);
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont,
                 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont,
                 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--its-white);
    font-weight: 800;
    letter-spacing: -0.02em;
}

/* The page is built from full-bleed sections, so drop the theme container. */
.page-template-default .site-content,
.site-content .content-area {
    padding: 0;
}

.home .entry-content > *,
.page .entry-content > * {
    margin-top: 0;
    margin-bottom: 0;
}

.home .site-content .content-area,
.home .entry-header,
.home .entry-content {
    margin: 0;
    padding: 0;
    max-width: none;
}

.home .entry-title,
.home .entry-header {
    display: none;
}

/* Site header / footer on the dark palette */
.site-header,
.site-footer {
    background-color: var(--its-dark);
    border-bottom: 1px solid var(--its-border);
}

.site-footer {
    border-bottom: 0;
    border-top: 1px solid var(--its-border);
}

.main-navigation,
.main-navigation ul ul {
    background-color: transparent;
}

.main-navigation .main-nav ul li a {
    color: var(--its-muted);
    font-weight: 600;
    font-size: 0.9375rem;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li a:focus {
    color: var(--its-lime);
    background-color: transparent;
}

.site-branding .site-title a {
    color: var(--its-white);
}

/* Selection + focus in brand colours */
::selection {
    background: var(--its-lime);
    color: #0a0f22;
}

a {
    text-decoration: none;
}

/* GenerateBlocks text blocks inherit the section colour by default */
.gb-text mark {
    background: transparent;
}

/* --- header / footer chrome on the dark palette -------------------------- */

.site-header .site-branding .main-title,
.site-header .site-branding .site-title,
.site-header .site-branding .site-description {
    display: none;                 /* the logo already carries the wordmark */
}

.site-header {
    background-color: var(--its-dark) !important;
}

.main-navigation,
.main-navigation ul ul,
.site-info,
.footer-widgets {
    background-color: var(--its-dark) !important;
}

.main-navigation .main-nav ul li a,
.main-navigation .menu-toggle,
.main-navigation .menu-bar-items {
    color: var(--its-muted) !important;
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: var(--its-lime) !important;
}

.site-footer,
.site-footer .site-info,
.site-footer .footer-widgets,
.site-footer .footer-bar {
    background-color: var(--its-dark);
    color: var(--its-muted-dim);
}

.site-footer a,
.site-footer .site-info a {
    color: var(--its-muted);
}

.site-footer a:hover,
.site-footer a:focus {
    color: var(--its-lime);
}

.inside-site-info {
    padding: 1.5rem 20px;
    font-size: 0.875rem;
}


/* ==========================================================================
   Header actions + designed footer
   ========================================================================== */

/* --- header call-to-action buttons --------------------------------------- */

.its-header-actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: 1.25rem;
}

.its-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 10px;
    padding: 0.7rem 1.25rem;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease,
                border-color 0.15s ease;
}

.its-btn--ghost {
    color: var(--its-white);
    background-color: transparent;
    border: 1px solid var(--its-border-soft);
}

.its-btn--ghost:hover,
.its-btn--ghost:focus {
    color: var(--its-lime);
    border-color: var(--its-lime);
}

.its-btn--primary {
    color: #0a0f22;
    background-color: var(--its-lime);
    border: 1px solid var(--its-lime);
}

.its-btn--primary:hover,
.its-btn--primary:focus {
    color: #0a0f22;
    background-color: #a4ef3c;
    border-color: #a4ef3c;
}

/* Keep the buttons out of the way on the mobile bar. */
@media (max-width: 768px) {
    .its-header-actions {
        gap: 0.5rem;
        margin-left: 0.5rem;
    }

    .its-btn {
        padding: 0.6rem 0.9rem;
        font-size: 0.8125rem;
    }

    .its-btn--ghost {
        display: none;
    }
}

/* --- footer --------------------------------------------------------------- */

.its-footer {
    background-color: var(--its-dark);
    border-top: 1px solid var(--its-border);
    padding: 4.5rem 40px 2rem;
}

.its-footer-inner {
    max-width: var(--gb-container-width);
    margin: 0 auto;
}

.its-footer-top {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 3rem;
    padding-bottom: 3rem;
}

.its-wordmark {
    display: inline-block;
    margin-bottom:10px;
    font-size: 1.375rem;
    font-weight: 800;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.its-wordmark strong {
    color: var(--its-white);
    font-weight: 800;
}

.its-wordmark span {
    color: var(--its-lime);
}

.its-footer-blurb {
    max-width: 22rem;
    margin: 0 0 1.25rem;
    color: var(--its-muted);
    font-size: 0.9375rem;
    line-height: 1.7;
}

.its-footer-location {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    color: var(--its-muted-dim);
    font-size: 0.9375rem;
}

.its-footer-location svg {
    color: var(--its-lime);
    flex-shrink: 0;
}

.its-footer-heading {
    margin: 0 0 1.25rem;
    color: var(--its-white);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
}

.its-footer-links,
.its-legal-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.its-footer-links li {
    margin-bottom: 0.9rem;
}

.its-footer-links a,
.its-legal-links a {
    color: var(--its-muted);
    font-size: 0.9375rem;
    text-decoration: none;
    transition: color 0.15s ease;
}

.its-footer-links a:hover,
.its-footer-links a:focus,
.its-legal-links a:hover,
.its-legal-links a:focus {
    color: var(--its-lime);
}

.its-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
    padding-top: 1.75rem;
    border-top: 1px solid var(--its-border);
}

.its-copyright {
    margin: 0;
    color: var(--its-muted-dim);
    font-size: 0.875rem;
}

.its-legal-links {
    display: flex;
    gap: 1.75rem;
    flex-wrap: wrap;
}

.its-legal-links a {
    font-size: 0.875rem;
}

.block_progress{}
.sec_hero{}
.sec_sales{}
.sec_fullservice{}
.sec_testimonial{}
.btn_callus span.gb-text{
    order: 2;
}
.block_serviceimg img {
    width: 100% !important;
    height: auto;
    border-radius: 20px;
}
.wp-block-cover {
    margin: 0px !important;
}
input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    border: 1px solid;
    border-radius: 0;
    padding: 10px 15px;
    max-width: 100%;
    border-radius: 10px;
}
.wpcf7-form-control.wpcf7-submit{align-items: center;
    background-color: #b5ff4d;
    border: 1px solid #b5ff4d;
    border-radius: 10px;
    color: #0a0f22;
    font-weight: 600;}
.site-branding-container .site-logo img {
    max-height: 70px;
    width: auto;
}
.site-header {
    padding: 10px 40px;
}
.site-header .inside-header {
    max-width: 1240px;
    padding: 0px;
}	
/* Blog archive: 3-column flex layout */
.blog #main.site-main {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;    padding-top: 3em;
}

.blog #main.site-main > article {
  flex: 0 0 calc(33.333% - 20px); /* 3 per row, accounts for the 30px gap */
  max-width: calc(33.333% - 20px);
  margin: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column; /* so title/excerpt/meta stack neatly inside each card */
}

/* Make thumbnails fill the card width */
.blog #main.site-main > article img {
  width: 100%;
  height: auto;
  display: block;
}

/* Push excerpt/meta content to fill remaining space evenly (optional, for equal-height cards) */
.blog #main.site-main > article .entry-content,
.blog #main.site-main > article .entry-summary {
  flex: 1;
}

/* Pagination: full width, not squeezed into a column */
.blog #main.site-main > nav.paging-navigation {
    flex: 0 0 100%;
    max-width: 100%;
    background: transparent;
    text-align: center;
}

/* Responsive: 2 per row on tablets, 1 per row on mobile */
@media (max-width: 992px) {
.blog #main.site-main > article {
    flex: 0 0 calc(50% - 15px);
    max-width: calc(50% - 15px);
  }
}

@media (max-width: 600px) {
.blog #main.site-main > article {
    flex: 0 0 100%;
    max-width: 100%;
  }
}	
.blog .inside-article {
    background-color: #0f1533 !important;
    border: 1px solid #232b55 !important;
    border-radius: 16px;
    padding: 1.25rem !important;
    color: #fff !im;
}
.blog .inside-article h2.entry-title, .blog .inside-article h2.entry-title a{color:#fff}	
.blog .entry-meta {
    color: #ccc;
}
.blog footer.entry-meta {
    display: none;
}
.blog h2.entry-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;    font-size: 26px;
    min-height: 65px;
}
.blog .entry-summary{ margin-top: 1em;}	
.separate-containers .comments-area, .separate-containers .inside-article, .separate-containers .page-header, .separate-containers .paging-navigation {
    padding: 0px;
}
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .one-container .container, .separate-containers .paging-navigation, .inside-page-header {
    background-color: transparent !important;
}
button, input[type=button], input[type=reset], input[type=submit] {
    padding: 10px 20px;
    background-color: var(--its-lime) !important;
    border: 1px solid var(--its-lime);
    color: #222 !important;
    border-radius: 8px;
}	

.tm-testi__list{
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.tm-testi__wrap--listing .tm-testi__item {
    flex: 0 0 calc(33.333% - 20px);
    box-sizing: border-box;
    margin: 0;
    background-color: #0f1533 !important;
    border: 1px solid #232b55 !important;
    border-radius: 10px;
}

.tm-testi__wrap--listing .tm-testi__item blockquote {
  height: 100%;
  box-sizing: border-box;
}
.site-content .content-area {
    width: 100%;

}
#summary {
	color: #000 !important;
	font-weight: 600;
}
.its-footer-partner {
	margin: 0px;
	margin-top: 15px;
}
.its-footer-partner img {
	border-radius: 10px;
}
.its-footer-partner img {
	border-radius: 10px;
	max-height: 98px;
}
.wp-block-tab-list {
	margin-bottom: 30px;
}
.wp-block-column img {
	border-radius: 10px;
}
:where(.wp-block-tab-list button)[aria-selected="true"]{
background: var(--its-lime) !important;
}
:where(.wp-block-tab-list button)[aria-selected="true"]::before{border:0px !important}
.wp-block-tabs button {
	background: #fff !important; padding: 10px;
}
.wp-block-tabs button[aria-selected="true"] {
	background: var(--its-lime) !important;
}
.single-post .site-main .post.type-post {
	padding: 0px 20px;
}
.single-post .site-main .comments-area{padding: 0px 20px;}
.page-id-4292 .page.type-page {
	padding: 0px 20px !important;
}
.page-template-calculator #send_contact {
	margin-right: 7px;
}
.btn_green .gb-text {
	vertical-align: top;
}
/* Responsive */
@media (min-width: 768px) and (max-width:890px) {
.main-navigation .main-nav ul li a {
	padding-left: 4px !important;
	padding-right: 4px !important;
	font-size: 13px;
}
.main-navigation a {
	font-size: 14px;
	padding: 10px 10px;
}
.its-header-actions {
	margin-left: 5px !important;
}
}
@media (max-width:1199px) {
.main-navigation .main-nav ul li a {
	padding-left: 7px;
	padding-right: 7px;
}	
.site-header {
	padding: 10px 20px;
}	
}
@media (max-width:1023px) {
.its-header-actions {
	margin-left: 10px;
}
.main-navigation .menu-bar-items .its-btn--ghost{display:none}	
}
@media (max-width:768px) {
.site-header .inside-header .menu-toggle {
	line-height: 42px;
}
.site-header .inside-header .gp-icon svg{fill: #fff;}
.main-navigation .main-nav ul ul li a {
	padding: 10px 5px;
}
.site-header .inside-header .menu-toggle svg {
	fill: #000;
}
}


@media (max-width: 992px) {
  .tm-testi__wrap--listing .tm-testi__item {
    flex: 0 0 calc(50% - 15px);
    max-width: calc(50% - 15px);
  }
  .site-content .content-area {

}
}

@media (max-width: 600px) {
  .tm-testi__wrap--listing .tm-testi__item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
.reviewsvideo .wp-block-embed {
    background: #fff;
    padding: 10px;
    border-radius: 10px;
}
	
@media (max-width: 1024px) {
    .its-footer-top {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
    }

    .its-footer-brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .its-footer {
        padding: 3rem 20px 2rem;
    }

    .its-footer-top {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .its-footer-bottom {
        justify-content: flex-start;
    }
	.calculatorrow .wp-block-group {
	display: block;
}
.calculatorrow .wp-block-group a {
	margin-bottom: 10px;
}
.wpcf7-form.init select {
	max-width: 100%;
	width: 100%;
}
.page-id-4951 #send_contact {
	margin-bottom: 10px;
}
}

/* --- header actions: layout + colour overrides ---------------------------- */
/* GeneratePress colours every link inside .menu-bar-items, so the buttons need
   to win on specificity. */

.main-navigation .inside-navigation {
    flex-wrap: nowrap;
}

.main-navigation .menu-bar-items {
    margin-left: auto;
}

.main-navigation .menu-bar-items .its-btn,
.main-navigation .menu-bar-items .its-btn:visited {
    color: var(--its-white) !important;
}

.main-navigation .menu-bar-items .its-btn--primary,
.main-navigation .menu-bar-items .its-btn--primary:visited,
.main-navigation .menu-bar-items .its-btn--primary:hover,
.main-navigation .menu-bar-items .its-btn--primary:focus {
    color: #0a0f22 !important;
}

.main-navigation .menu-bar-items .its-btn--ghost:hover,
.main-navigation .menu-bar-items .its-btn--ghost:focus {
    color: var(--its-lime) !important;
}
.herotestimonial span.gb-text {
    margin-left: -7px;
}

/* The mobile toggle bar renders a second copy of the menu bar items - hide
   that one on desktop so the buttons are not duplicated. */
@media (min-width: 769px) {
    .mobile-menu-control-wrapper .menu-bar-items {
        display: none;
    }
}

.main-navigation .main-nav,
.main-navigation .main-nav > ul {
    flex-wrap: nowrap;
}

.main-navigation .main-nav ul li a {
    white-space: nowrap;
}
a:hover, a:focus, a:active {
    color:var(--its-lime);
}
.portfolio_main .wp-block-image img, .sec_stories .wp-block-image img {
    border-radius: 15px;
}
.btn_green:hover {
    color: #000;
    background: #fff;
}
a.btn_green:focus, a.btn_green:active {
	color: #0a0f22;
  background: #b5ff4d;
}
.sec_stories{border-top: 1px solid var(--its-border);}










/* GeneratePress sets display on links inside .menu-bar-items, so the mobile
   rules need the same specificity to win. */
@media (max-width: 768px) {
    .main-navigation .menu-bar-items .its-btn--ghost {
        display: none;
    }

    .main-navigation .menu-bar-items .its-btn {
        display: inline-flex;
    }

    .site-header .inside-header {
        align-items: center;
    }
}

@media (max-width: 768px) {
    /* must come after the .its-btn display rule above */
    .main-navigation .menu-bar-items .its-btn--ghost {
        display: none;
    }
}

@media (max-width: 768px) {
    /* Keep the logo, CTA and toggle on one row. */
    .site-logo .header-image {
        max-height: 46px;
        width: auto;
    }
	.main-navigation .main-nav ul li a {
	line-height: 40px;
}
.main-navigation .main-nav ul li a{font-size:18px;}
    .site-header .inside-header {
      
        gap: 0.5rem;
    }
}

@media (max-width: 768px) {
    .has-inline-mobile-toggle .mobile-menu-control-wrapper {
        flex-wrap: nowrap;
        align-items: center;
        gap: 0.5rem;
        margin-left: auto;
    }

    .has-inline-mobile-toggle .mobile-menu-control-wrapper .menu-bar-items {
        margin-left: 0;
    }

    .site-header .site-branding-container {
        flex: 0 1 auto;
    }
}

@media (max-width: 768px) {
    .site-header .site-branding-container {
        flex: 0 0 auto;
        min-width: 0;
    }

    .site-logo {
        flex-shrink: 0;
    }

    .site-logo .header-image {
        height: 46px;
        max-height: 46px;
        width: auto;
        max-width: none;
    }
}
