/*
Theme Name: IT Solutions Brevon Static
Theme URI: https://www.itsolutions.co.uk/
Author: Custom Theme Build
Description: Static PHP WordPress theme using Brevon assets and fixed page templates.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
Text Domain: itsolutions-brevon-static
*/
:root {
    --theme: #1E3666;
    --theme2: #F8981D;
    --theme3: #1E3666; /* Mapping Teal to Primary Blue */
    --theme4: #F8981D; /* Mapping secondary Orange to Accent Orange */
    --theme5: #F8981D; /* Mapping Yellow to Accent Orange */
    --theme6: #1E3666; /* Mapping Light Blue to Primary Blue */
}

/* Fix sticky header link color which was hardcoded */
.sticky.header-1 .mean__menu-wrapper .main-menu ul li a {
    color: var(--theme);
}

/* Fix: Hamburger menu icon visibility on mobile */
@media (max-width: 1199px) {
    .header-1 .sidebar__toggle {
        color: var(--theme);
        background-color: transparent;
        border: 1px solid var(--theme);
    }
    
    .header-1 .sidebar__toggle i {
        color: var(--theme);
    }
}

/* Accessibility: Support div.sub-title as replacement for decorative h6 */
div.sub-title {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: inline-block;
}

.hero-content div.sub-title {
  color: rgba(255, 255, 255, 0.75);
  font-size: 13px;
  margin-bottom: 25px;
}

.hero-content div.sub-title span {
  background-color: var(--theme);
  color: #ffffff;
  border-radius: 20px;
  height: 23px;
  display: inline-block;
  line-height: 23px;
  padding: 0 10px;
  margin-right: 10px;
}

/* IT Systems Management: keep service cards the same height in the intro grid */
.itm-equal-cards {
  align-items: stretch;
}

.itm-equal-cards > [class*="col-"],
.itm-equal-cards > .advance-item {
  display: flex;
}

.project-box-items .service-card-item {
  height: 100%;
  width: 100%;
}

/* Consultancy Areas - Card Styles */
.project-section .project-box-area .project-box-items {
  background-color: #1e2430;
  display: flex;
  overflow: hidden;
  border-radius: 12px;
  transition: all 0.4s ease;
  border: none;
  margin-bottom: 30px;
}

.project-section .project-box-area .project-box-items .content {
  padding: 60px;
  flex: 1.2;
  background-color: #1e2430;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.project-section .project-box-area .project-box-items .content span {
  color: #cbd5e0;
  font-size: 16px;
  margin-bottom: 20px;
  display: block;
  font-weight: 500;
}

.project-section .project-box-area .project-box-items .content h3 {
  color: #ffffff;
  font-size: 52px;
  margin-bottom: 40px;
  font-weight: 700;
  line-height: 1.1;
}

.project-section .project-box-area .project-box-items .content p {
  color: #a0aec0;
  font-size: 18px;
  line-height: 1.6;
  max-width: 90%;
  margin: 0;
}

.project-section .project-box-area .project-box-items .content .number {
  position: absolute;
  bottom: 20px;
  left: 40px;
  font-size: 160px;
  font-weight: 800;
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.05);
  z-index: -1;
  line-height: 0.8;
  pointer-events: none;
}

.project-section .project-box-area .project-box-items .thumb {
  flex: 1;
}

.project-section .project-box-area .project-box-items .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 1199px) {
  .project-section .project-box-area .project-box-items .content h3 {
    font-size: 40px;
  }
}

@media (max-width: 991px) {
  .project-section .project-box-area .project-box-items {
    flex-direction: column;
  }
  .project-section .project-box-area .project-box-items .content {
    padding: 40px;
    order: 2;
  }
  .project-section .project-box-area .project-box-items .thumb {
    height: 300px;
    order: 1;
  }
}

.max-w-800 {
  max-width: 800px;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

/* Contact page card height fix */
.contact-info-section .row {
  display: flex;
  flex-wrap: wrap;
}

/* Contact Form 7 Integration */
.contact-form-box .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.contact-form-box br,
.contact-form-box p {
  display: none !important;
}
.contact-form-box .wpcf7-response-output {
  margin: 20px 0 0 !important;
  padding: 10px 20px !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  background: #007bff !important; /* fallback to theme primary color */
  border: none !important;
}

/* Ensure CF7 inputs look like original theme inputs */
.contact-form-box .wpcf7-text,
.contact-form-box .wpcf7-textarea,
.contact-form-box .wpcf7-select,
.contact-form-box input[type="text"],
.contact-form-box input[type="email"],
.contact-form-box input[type="tel"],
.contact-form-box textarea {
  outline: none !important;
  width: 100% !important;
  color: var(--header) !important;
  padding-bottom: 20px !important;
  border: none !important;
  background: transparent !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.2) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-transform: none !important; /* CF7 text-transform: capitalize can be weird */
}

/* Ensure placeholder color is consistent */
.contact-form-box ::placeholder {
  color: var(--header) !important;
  opacity: 1;
}

/* Default (Desktop) */
.custom-textarea {
  height: 150px;
}

/* Mobile */
@media (max-width: 768px) {
  .custom-textarea {
    height: 90px;
  }
}
