/* ==========================================================
   Header logo sizing
   ========================================================== */

.navigation-bar__logo a.logo.logo--header{
  display:flex;
  align-items:center;
  height:60px;
  width:auto;
  max-width:100%;
}

.navigation-bar__logo a.logo.logo--header img{
  display:block;
  height:100%;
  width:auto;
  max-width:100%;
  max-height:none;
  object-fit:contain;
  object-position:left center;
}

/* Tablets */
@media (max-width: 768px){
  .navigation-bar__logo a.logo.logo--header{ height:64px; }
  .navigation-bar__logo a.logo.logo--header img{ max-width:calc(100vw - 48px); }
}

/* Phones */
@media (max-width: 480px){
  .navigation-bar__logo a.logo.logo--header{ height:52px; }
  .navigation-bar__logo a.logo.logo--header img{ max-width:calc(100vw - 32px); }

  .navigation-bar__inner,
  .navigation-bar__content,
  .navigation-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .navigation-bar__logo a.logo.logo--header img{
    max-width:calc(100vw - 32px - 56px);
  }

  .navigation-bar__toggle,
  .navigation-bar__menu-toggle,
  .navigation-bar__button{
    flex:0 0 56px;
    min-width:56px;
  }
}

/* Remove featured image on single posts */
.single-post figure.wp-block-image.featured-image{
  display:none !important;
}

/* ==========================================================
   Footer – Pic 2 layout
   ========================================================== */

/* Social + back-to-top side-by-side */
.site-footer .site-footer__right{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:flex-end;
}

.site-footer .site-footer__social-media{
  margin:0;
  display:flex;
  align-items:center;
}

.site-footer .site-footer__social-media ul{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0;
  padding:0;
}

.site-footer .site-footer__social-media li{
  list-style:none;
  margin:0;
  padding:0;
}

/* Avoid theme forcing absolute positioning */
.site-footer .site-footer__back-to-top{
  position:static;
  bottom:auto;
  right:auto;
}

/* Middle footer logos (PHP inline styles can override per-logo) */
.site-footer .site-footer__footer-pics{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  flex-wrap:nowrap;
}

.site-footer .site-footer__footer-pics img{
  height:60px;
  width:auto;
  max-width:220px;
  object-fit:contain;
  display:block;
}

.site-footer .site-footer__footer-pics-item:last-child img{
  height:72px;
  max-width:240px;
}

/* Footer brand logo – remove WP sizes max-width cap */
.site-footer .site-footer__logo{
  flex:0 0 auto;
  width:auto;
  display:flex;
  align-items:center;
}

.site-footer a.logo.logo--footer{
  max-width:none !important;
  width:auto !important;
  display:inline-flex !important;
  align-items:center !important;
}

.site-footer a.logo.logo--footer img{
  max-width:none !important;
  width:auto !important;
  height:60px !important; /* footer logo size */
  object-fit:contain !important;
  display:block;
}

/* ==========================================================
   Desktop layout – true centered middle group
   ========================================================== */

@media (min-width: 768px){

  .site-footer .site-footer__columns{
    display:flex;
    align-items:center;
    position:relative;
    flex-wrap:wrap;  /* menu can sit below */
    min-height:95px;
  }

  .site-footer .site-footer__logo{ z-index:2; }

  .site-footer .site-footer__right{
    margin-left:auto;
    z-index:2;
  }

  /* Middle group centered relative to full footer width */
  .site-footer .site-footer__footer-pics{
    position:absolute;
    left:50%;
    top:36%; /* sweet spot */
    transform:translate(-50%, -50%);
    z-index:1;
  }

  /* Footer menu goes on its own row */
  .site-footer .site-footer__menu{
    flex-basis:100%;
    order:10;
    margin-top:24px;
  }
}

/* ==========================================================
   Mobile layout – LOXAM above logos, icons stay right
   ========================================================== */

@media (max-width: 768px){

  /* Reset desktop absolute positioning */
  .site-footer .site-footer__footer-pics{
    position:static;
    left:auto;
    top:auto;
    transform:none;
    margin-top:20px;
    gap:16px;
    flex-wrap:wrap;
  }

  /* Stack: logo -> middle logos -> right icons (right aligned) */
  .site-footer .site-footer__columns{
    display:flex;
    flex-direction:column;
    align-items:center;
    position:relative;
  }

  .site-footer .site-footer__logo{
    order:1;
    margin-bottom:20px;
  }

  .site-footer .site-footer__footer-pics{
    order:2;
  }

  .site-footer .site-footer__right{
    order:3;
    width:100%;
    justify-content:flex-end;
    margin-top:20px;
  }

  /* Slightly smaller footer logo on mobile */
  .site-footer a.logo.logo--footer img{
    height:55px !important;
  }
}
/* ==========================================================
   HERO PORTFOLIO BUTTONS
   ========================================================== */

.hero-portfolio-buttons {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  margin-top: 60px;
  flex-wrap: wrap;
}

.hero-card-btn {
  background: #eef1f5;
  border-radius: 22px;
  padding: 35px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
  width: 340px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hero-card-btn h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #123b8f;
}

.hero-card-btn p {
  margin: 8px 0 0;
  font-size: 14px;
  color: #6b7280;
}

.hero-card-arrow {
  position: relative;
  background: #123b8f;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.hero-card-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-60%, -50%) rotate(45deg);
}

.hero-card-btn:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
}

.hero-card-btn:hover .hero-card-arrow { transform: translateX(5px); }

@media (max-width: 1024px) {
  .hero-portfolio-buttons { gap: 25px; }
  .hero-card-btn { width: 300px; padding: 30px; }
}

@media (max-width: 768px) {
  .hero-portfolio-buttons { flex-direction: column; align-items: center; }
  .hero-card-btn { width: 100%; max-width: 400px; }
}

/* Home hero overlay (darken left side only) */
body.home .wp-block-cover:first-of-type::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.35) 0%,
    rgba(0,0,0,0.15) 35%,
    rgba(0,0,0,0.00) 60%
  );
  pointer-events: none;
}

/* Services page  */

body.archive.category main#site-content {
    padding: 0 0px !important;
}