/* Firma Konum — global Outfit typography + responsive hardening (load last). */

:root {
	--fj-font-sans: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fj-gutter: clamp(1rem, 4.5vw, 1.5rem);
}

html,
body,
button,
input,
select,
textarea,
optgroup,
option {
	font-family: var(--fj-font-sans);
}

/* Blog previously used separate editorial fonts; keep its hierarchy in Outfit. */
.fj-blog-single,
.fj-blog-single * {
	font-family: var(--fj-font-sans) !important;
}

html {
	overflow-x: clip;
}

body {
	min-width: 0;
	overflow-x: clip;
}

:where(main, section, article, aside, header, footer, nav, form, fieldset, div) {
	min-width: 0;
}

:where(img, picture, video, canvas, iframe, embed, object, svg) {
	max-width: 100%;
}

:where(input, select, textarea, button) {
	max-width: 100%;
}

:where(h1, h2, h3, h4, h5, h6, p, li, a, span, label, td, th) {
	overflow-wrap: break-word;
}

.fj-container,
.fj-page-modern__body {
	padding-left: max(var(--fj-gutter), env(safe-area-inset-left, 0px));
	padding-right: max(var(--fj-gutter), env(safe-area-inset-right, 0px));
}

/* pages.css used a padding shorthand that removed the container gutters. */
.fj-page-modern__body {
	padding-top: clamp(2rem, 4vw, 3rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
}

.fj-page-content,
.fj-article__content,
.entry-content,
.woocommerce,
.woocommerce-page {
	max-width: 100%;
}

.fj-article__content :where(table, iframe, pre),
.entry-content :where(table, iframe, pre),
.woocommerce :where(table, iframe) {
	max-width: 100%;
}

.fj-article__content pre,
.entry-content pre,
.wp-block-table,
.woocommerce-cart-form {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Search fields: reserve the icon space for selects as well as text inputs. */
.fj-search-form__field {
	min-width: 0;
}

.fj-search-form__icon {
	z-index: 1;
}

.fj-search-form__select {
	padding-left: 2.5rem;
	padding-right: 2.25rem;
}

.fj-search-form__input,
.fj-search-form__select,
.fj-search-form__submit {
	max-width: 100%;
}

/* Company cover breadcrumbs need contrast and must not collide with the card. */
.fj-csingle-hero__crumbs .fj-breadcrumbs__list {
	flex-wrap: nowrap;
	overflow: hidden;
}

.fj-csingle-hero__crumbs .fj-breadcrumbs__item {
	min-width: 0;
	flex-shrink: 0;
}

.fj-csingle-hero__crumbs .fj-breadcrumbs__item--current {
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: rgba(255, 255, 255, 0.88);
}

.fj-csingle-hero__crumbs .fj-breadcrumbs__item--current::after {
	display: none;
}

.fj-listing-toolbar,
.fj-footer__bottom,
.fj-crm__page-head,
.fj-crm-packages__toolbar,
.fj-crm-packages__current-head {
	min-width: 0;
}

.fj-pricing-grid,
.fj-blog-grid,
.fj-how-steps__grid,
.fj-how-features__grid,
.fj-popular__track,
.fj-crm__cards,
.fj-crm__stats,
.fj-cform__grid,
.fj-contact-grid,
.fj-contact-cards {
	max-width: 100%;
}

/* Popular company cards must not use long nowrap text as their grid minimum. */
.fj-popular__track {
	min-width: 0;
}

.fj-popular-card {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow: hidden;
}

.fj-popular-card__body,
.fj-popular-card__name,
.fj-popular-card__meta,
.fj-popular-card__stats {
	min-width: 0;
	max-width: 100%;
}

.fj-popular-card__name,
.fj-popular-card__meta {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fj-popular-card__stats {
	flex-wrap: wrap;
}

.fj-popular-card__stats:empty {
	display: none;
}

/* Dashboard forms and cards stay usable on compact screens. */
.fj-cform__hour-times {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.fj-cform__hour-times input {
	min-width: 0;
	width: 100%;
}

.fj-cform__nav,
.fj-cform__footer,
.fj-crm-card__head,
.fj-crm-packages__meta {
	min-width: 0;
}

@media (max-width: 1023px) {
	.fj-header__inner {
		gap: 0.75rem;
	}

	.fj-header__brand {
		min-width: 0;
		flex: 1 1 auto;
	}

	.fj-header__brand .custom-logo-link,
	.fj-header__brand .custom-logo-link img {
		max-width: min(172px, 50vw);
	}

	.fj-mobile-nav__panel {
		width: min(360px, 100vw);
	}

	.fj-archive-layout,
	.fj-csingle-layout,
	.fj-blog-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.fj-page,
	.fj-page-modern,
	.fj-csingle,
	.fj-blog-single {
		max-width: 100%;
	}

	.fj-page-hero {
		padding-top: clamp(2rem, 9vw, 3rem);
		padding-bottom: clamp(1.75rem, 8vw, 2.5rem);
	}

	.fj-page-modern__body {
		padding-top: 1.5rem;
		padding-bottom: 1.75rem;
	}

	.fj-page-hero__title,
	.fj-page__title,
	.fj-blog-hero__title,
	.fj-csingle-hero__title,
	.fj-crm__title {
		text-wrap: balance;
	}

	.fj-listing-toolbar {
		flex-wrap: wrap;
	}

	.fj-pricing-card {
		padding: clamp(1.125rem, 5vw, 1.5rem);
	}

	.fj-popular__track {
		grid-template-columns: minmax(0, 1fr);
	}

	.fj-packages-info,
	.fj-crm-packages__note {
		line-height: 1.5;
	}

	.fj-csingle-hero__crumbs .fj-breadcrumbs__item--current {
		display: none;
	}

	.fj-csingle-hero__crumbs .fj-breadcrumbs__item:nth-last-child(2)::after {
		display: none;
	}

	.fj-crm__main {
		width: 100%;
		padding: 1rem;
	}

	.fj-crm__page-head {
		align-items: flex-start;
	}

	.fj-crm__head-cta {
		width: 100%;
	}

	.fj-crm__head-cta .fj-btn {
		width: 100%;
		justify-content: center;
	}

	.fj-crm__cards {
		grid-template-columns: minmax(0, 1fr);
		padding: 1rem;
	}

	.fj-crm-card__head {
		flex-wrap: wrap;
	}

	.fj-crm-card__title-wrap {
		flex: 1 1 calc(100% - 64px);
	}

	.fj-crm-badge {
		margin-left: 60px;
	}

	.fj-cform__body {
		padding: 1rem;
	}

	.fj-cform__footer {
		align-items: stretch;
		flex-direction: column;
	}

	.fj-cform__submit {
		width: 100%;
		min-width: 0;
	}

	.fj-crm-packages__toolbar,
	.fj-crm-packages__select {
		width: 100%;
	}

	.woocommerce .col2-set .col-1,
	.woocommerce .col2-set .col-2,
	.woocommerce-page .col2-set .col-1,
	.woocommerce-page .col2-set .col-2 {
		float: none;
		width: 100%;
	}
}

@media (max-width: 479px) {
	:root {
		--fj-gutter: 1rem;
	}

	.fj-blog-grid,
	.fj-how-steps__grid,
	.fj-how-features__grid,
	.fj-pricing-grid,
	.fj-popular__track,
	.fj-crm__cards {
		grid-template-columns: minmax(0, 1fr);
	}

	.fj-popular-card {
		gap: 0.625rem;
		padding: 0.75rem;
	}

	.fj-popular-card__rank {
		flex-basis: 26px;
		width: 26px;
		height: 26px;
	}

	.fj-popular-card__logo {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
	}

	.fj-crm__stats {
		grid-template-columns: minmax(0, 1fr);
	}

	.fj-crm-stat,
	.fj-crm-card,
	.fj-cform,
	.fj-pricing-card {
		max-width: 100%;
	}

	.fj-cform__nav {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		gap: 0.5rem;
		padding: 0.875rem;
	}

	.fj-cform__nav-btn {
		min-width: 0;
		padding-left: 0.625rem;
		padding-right: 0.625rem;
	}

	.fj-cform__step {
		font-size: 0.75rem;
		white-space: nowrap;
	}

	.fj-bottom-nav__item {
		padding-left: 0.4rem;
		padding-right: 0.4rem;
	}

	.fj-bottom-nav__item.is-active {
		padding-left: 0.55rem;
		padding-right: 0.65rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
