/* ==========================================================================
   Cargoflow Icons
   Small, dependency-free icon set drawn with pure CSS (borders/shapes),
   so the theme never relies on an external icon-font library.
   ========================================================================== */

.cfi {
	position: relative;
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -0.15em;
}
.cfi::before, .cfi::after { content: ""; position: absolute; }

/* Phone */
.cfi-phone { border: 0.12em solid currentColor; border-radius: 0.3em; transform: rotate(-15deg); }
.cfi-phone::before { top: 0.18em; left: 50%; width: 0.02em; height: 0.02em; }

/* Mail */
.cfi-mail { border: 0.1em solid currentColor; border-radius: 0.15em; }
.cfi-mail::before { top: -0.05em; left: -0.02em; width: 1em; height: 1em; border-top: 0.1em solid currentColor; border-left: 0.1em solid currentColor; transform: rotate(45deg) scale(0.5); transform-origin: top left; }

/* Calendar */
.cfi-calendar { border: 0.1em solid currentColor; border-radius: 0.1em; top: 0.05em; }
.cfi-calendar::before { top: -0.28em; left: 0.15em; width: 0.1em; height: 0.25em; border-left: 0.1em solid currentColor; }
.cfi-calendar::after { top: -0.28em; right: 0.15em; width: 0.1em; height: 0.25em; border-left: 0.1em solid currentColor; }

/* User */
.cfi-user::before { top: -0.05em; left: 0.3em; width: 0.4em; height: 0.4em; border-radius: 50%; border: 0.1em solid currentColor; }
.cfi-user::after { bottom: -0.05em; left: 0.1em; width: 0.8em; height: 0.4em; border-radius: 0.4em 0.4em 0 0; border: 0.1em solid currentColor; border-bottom: 0; }

/* Comment */
.cfi-comment { border: 0.1em solid currentColor; border-radius: 0.25em; }
.cfi-comment::before { bottom: -0.15em; left: 0.15em; width: 0; height: 0; border-left: 0.15em solid transparent; border-top: 0.2em solid currentColor; }

/* Arrow right */
.cfi-arrow-right::before { top: 0.42em; left: 0; width: 0.8em; height: 0.14em; background: currentColor; }
.cfi-arrow-right::after { top: 0.12em; right: 0; width: 0.5em; height: 0.5em; border-top: 0.14em solid currentColor; border-right: 0.14em solid currentColor; transform: rotate(45deg); }

/* Check */
.cfi-check::before { left: 0.05em; top: 0.35em; width: 0.35em; height: 0.15em; background: currentColor; transform: rotate(45deg); }
.cfi-check::after { left: 0.28em; top: -0.05em; width: 0.15em; height: 0.75em; background: currentColor; transform: rotate(45deg); }

/* Star filled / empty */
.cfi-star-filled, .cfi-star-empty {
	clip-path: polygon(50% 0%, 63% 35%, 100% 38%, 72% 60%, 82% 100%, 50% 78%, 18% 100%, 28% 60%, 0% 38%, 37% 35%);
	background: currentColor;
}
.cfi-star-empty { background: var(--cf-color-border, #E2E8F0); }

/* Clock */
.cfi-clock { border: 0.1em solid currentColor; border-radius: 50%; }
.cfi-clock::before { top: 0.15em; left: 0.45em; width: 0.06em; height: 0.35em; background: currentColor; transform-origin: bottom center; }
.cfi-clock::after { top: 0.44em; left: 0.44em; width: 0.35em; height: 0.06em; background: currentColor; transform-origin: left center; transform: rotate(30deg); }

/* Social monograms — generic badges (no trademarked logos reproduced) */
.cfi-facebook, .cfi-twitter, .cfi-instagram, .cfi-linkedin, .cfi-youtube {
	width: 1.6em; height: 1.6em;
	border-radius: 50%;
	background: currentColor;
	color: inherit;
}
.cfi-facebook::before, .cfi-twitter::before, .cfi-instagram::before, .cfi-linkedin::before, .cfi-youtube::before {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	font-size: 0.65em; font-weight: 700; color: var(--cf-color-primary, #0F172A);
	font-family: var(--cf-font-heading, sans-serif);
}
.cfi-facebook::before { content: "f"; }
.cfi-twitter::before { content: "X"; }
.cfi-instagram::before { content: "IG"; font-size: 0.45em; }
.cfi-linkedin::before { content: "in"; font-size: 0.5em; }
.cfi-youtube::before { content: "YT"; font-size: 0.4em; }
