/* Base styling for image sizing and layout balance */
.icon-actual-size img {
  width: 110px !important;
  height: auto !important;
  max-width: 100%;
  margin: 0;
}

/* Fix desktop layout spacing */
.wp-block-media-text.icon-actual-size {
  grid-template-columns: auto 1fr !important;
  column-gap: 24px !important;
  align-items: center;
  padding: 0 !important;
}

/* Fix mobile layout and image centering */
@media screen and (max-width: 768px) {
  .wp-block-media-text.icon-actual-size {
    grid-template-columns: 1fr !important;
    text-align: left;
    column-gap: 0 !important;
  }

  .icon-actual-size img {
    width: 80px !important;
    margin: 0 auto;
    display: block;
  }
}

img[src*="clarity-b.png"] {
  width: 600px;
  height: auto;
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

p {
  font-size: 22px !important;
}


p,
a,
li,
ul,
ol,
em,
input,
textarea,
wp-block-list
{
  font-size: 22px !important;
  line-height: 1.6 !important;
  font-family: 'Rajdhani', sans-serif !important;
	text-decoration:none
}

header .wp-block-site-title,
header .wp-block-site-title a,
.wp-block-site-title,
.wp-block-site-title a {
  font-size: 30px !important;
  font-family: 'Rajdhani', sans-serif !important;
  line-height: 1.2 !important;
}

.alignright {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
  max-width: 50%;
}

.alignleft {
  float: left;
  margin-left: 20px;
  margin-bottom: 20px;
  max-width: 50%;
	padding-right:20px
}

/* === Sidebar Latest Posts: no wrap, no overlap, perfect alignment === */
/* Configure once: lines & line-height for titles */
.sticky-sidebar{
  --title-lines: 3;
  --title-lh: 1.35;
  --thumb: calc(1em * var(--title-lh) * var(--title-lines)); /* auto thumbnail size */
}

.sticky-sidebar .wp-block-latest-posts__list.wp-block-latest-posts li{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 16px 0;
  min-height: var(--thumb);           /* prevents overlap when title is 1–2 lines */
}

/* left column (thumbnail) */
.sticky-sidebar .wp-block-latest-posts__featured-image,
.sticky-sidebar .wp-block-latest-posts__featured-image.alignleft{
  float: none !important;
  margin: 0 !important;
  width: var(--thumb);
  height: var(--thumb);
  flex: 0 0 var(--thumb);
  display: block;
  align-self: flex-start;
}
.sticky-sidebar .wp-block-latest-posts__featured-image a{
  display: block; width: var(--thumb); height: var(--thumb);
}
.sticky-sidebar .wp-block-latest-posts__featured-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* right column (title link) */
.sticky-sidebar .wp-block-latest-posts__list.wp-block-latest-posts li > a.wp-block-latest-posts__post-title{
  flex: 1 1 auto;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  line-height: var(--title-lh);
  /* clamp to 3 lines with ellipsis */
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: var(--title-lines) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  max-height: calc(var(--title-lh) * 1em * var(--title-lines)) !important;
  overflow-wrap: anywhere !important;
}

/* Reduce sidebar latest post title font size to align with 56px image height */
.sticky-sidebar a.wp-block-latest-posts__post-title {
  font-size: 0.9em !important;   /* tweak until height matches exactly */
  line-height: 1.3 !important;   /* slightly tighter for balance */
  margin: 0 !important;
  padding: 0 !important;
}

/* Global guard /
html, body { overflow-x: clip; } / hide and prevent horizontal scroll */
*, *::before, *::after { box-sizing: border-box; }

/* Keep main wrappers inside the viewport */
.site, .wp-site-blocks, .site-content, .content-area, .entry-content,
.container, .wrap, .sidebar, .sticky-sidebar {
max-width: 100%;
overflow-x: clip;
}

/* Stop 100vw elements from causing overflow inside padded containers /
.entry-content [class="alignfull"],
.entry-content [class*="alignwide"],
.entry-content [style*="width:100vw"],
.entry-content [style*="width: 100vw"] {
width: 100% !important;
max-width: 100% !important;
margin-left: 0 !important;
margin-right: 0 !important;
}

/* Media should never exceed its container */
.entry-content img,
.widget img,
.wp-block-image img,
.wp-block-embed,
.wp-block-video,
iframe,
video {
max-width: 100%;
height: auto;
display: block;
}

/* Long tables or code will scroll inside themselves, not the page */
.entry-content table { display: block; width: 100%; overflow-x: auto; }
.entry-content pre, .entry-content code { white-space: pre-wrap; word-break: break-word; }

/* Latest Posts safety so text cannot push width */
.sticky-sidebar .wp-block-latest-posts__list.wp-block-latest-posts { max-width: 100%; }
.sticky-sidebar .wp-block-latest-posts__list.wp-block-latest-posts li > a.wp-block-latest-posts__post-title { min-width: 0; }

.tag-cloud-link, .taxonomy-post_tag a {
    text-decoration: none;
    background: rgb(0, 0, 0);
    margin: 0 5px 5px 0;
    padding: 0 10px;
    border-radius: 6px;
    font-size: 12px;
    display: inline-block;
    color: var(--wp--preset--color--white);
    text-decoration: none;
}

/* Catch negative-margin outliers /
body [style="margin-left:-"], body [style*="margin-right:-"] { overflow-x: clip; };

hr.style-two {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}

.lede li{
	font-style:italic;
	font-size:18px;
	font-weight:bold}
  
.lede ul {list-style-image: url('https://www.shippingandfreightresource.com/wp-content/uploads/sfr-bullet-2.png');
}

/* Container */
.hmbs-contact {
  box-sizing: border-box;
  display: flex;
  align-items: stretch;            /* ensures the divider spans the full height */
  gap: 24px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;                   /* outer padding around the block */
}

/* Columns */
.hmbs-contact .col {
  box-sizing: border-box;
  padding: 20px;                   /* inner padding inside each column */
}

/* Left column: make it a bit narrower so the right column has room to avoid wrapping */
.hmbs-contact .col-text {
  flex: 0 1 55%;
  max-width: 55%;
}

/* Right column: fixed comfortable width to keep important lines on a single line */
.hmbs-contact .col-cta {
  flex: 0 0 420px;                 /* adjust this if you want more/less width */
  max-width: 420px;
}

/* Do not wrap certain key lines on desktop */
.hmbs-contact .col-cta .nowrap {
  white-space: nowrap;
}

/* Image responsiveness */
.hmbs-contact img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Vertical dashed divider as its own flex item so it stretches to full height */
.hmbs-contact .divider {
  align-self: stretch;
  width: 0;                        /* no intrinsic width, the border draws the line */
  border-left: 2px dashed #b7b7b7; /* dashed vertical rule */
  opacity: 0.9;
  margin: 0 4px;                   /* a little breathing space around the rule */
}

/* Typography tweaks (optional) */
.hmbs-contact p {
  margin: 0 0 12px 0;
  line-height: 1.45;
}

/* Mobile stacking */
@media (max-width: 768px) {
  .hmbs-contact {
    flex-direction: column;
    gap: 16px;
    padding: 16px;
  }
  .hmbs-contact .divider {
    display: none;                 /* hide the divider on small screens */
  }
  .hmbs-contact .col-text,
  .hmbs-contact .col-cta {
    flex: 1 1 auto;
    max-width: none;
    padding: 16px;
  }
  /* Allow wrapping on small screens to avoid horizontal scrolling */
  .hmbs-contact .col-cta .nowrap {
    white-space: normal;
  }
}