/**
 * Industrial Directory — أنماط الواجهة الأمامية (RTL أولًا).
 * تستخدم الخصائص المنطقية لدعم الاتجاهين.
 */

.idir {
	--idir-primary: #1a5fd0;
	--idir-primary-dark: #144bab;
	--idir-danger: #dc3545;
	--idir-success: #198754;
	--idir-border: #e2e5ea;
	--idir-muted: #6b7280;
	--idir-radius: 12px;
	font-family: Tahoma, "Segoe UI", Arial, sans-serif;
	color: #1f2430;
	line-height: 1.7;
	box-sizing: border-box;
}

.idir *, .idir *::before, .idir *::after { box-sizing: inherit; }

.idir-card {
	background: #fff;
	border: 1px solid var(--idir-border);
	border-radius: var(--idir-radius);
	padding: 20px;
	margin-block-end: 16px;
}

.idir-card--link { text-decoration: none; color: inherit; display: block; transition: box-shadow .15s ease, transform .05s ease; }
.idir-card--link:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); transform: translateY(-2px); }

.idir-dashboard__head, .idir-card__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.idir-dashboard__head { margin-block-end: 20px; }
.idir-card__actions { margin-block-start: 14px; }

.idir-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	margin-block: 16px;
}

.idir-card__body h3 { margin: 0 0 6px; font-size: 1.1rem; }

/* ===== شريط أدوات الدليل (فلاتر + عداد النتائج) ===== */
.idir-directory__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	background: #fff;
	border: 1px solid var(--idir-border);
	border-radius: 14px;
	padding: 14px 18px;
	margin-block-end: 22px;
	box-shadow: 0 1px 2px rgba(20, 30, 60, .04);
}

.idir-filters { display: block; margin-block-end: 0; }
.idir-filters__group { display: flex; gap: 10px; flex-wrap: wrap; }

.idir-select-wrap { position: relative; }
.idir-select-wrap::after {
	content: "";
	position: absolute;
	inset-inline-start: 12px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-inline-start: 2px solid var(--idir-muted);
	border-block-end: 2px solid var(--idir-muted);
	transform: translateY(-65%) rotate(-45deg);
	pointer-events: none;
}

.idir-filters select {
	appearance: none;
	-webkit-appearance: none;
	padding: 9px 30px 9px 14px;
	border: 1px solid var(--idir-border);
	border-radius: 999px;
	background: #f6f8fb;
	font: inherit;
	font-size: .88rem;
	color: #333;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease;
}
.idir-filters select:hover { background: #eef2f8; }
.idir-filters select:focus { outline: none; border-color: var(--idir-primary); background: #fff; }

.idir-directory__count {
	margin: 0;
	font-size: .88rem;
	font-weight: 700;
	color: var(--idir-primary);
	background: #eef3fc;
	padding: 6px 16px;
	border-radius: 999px;
	white-space: nowrap;
}

.idir-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--idir-muted);
	padding: 60px 20px;
	background: #fbfbfc;
	border: 1px dashed var(--idir-border);
	border-radius: 14px;
	text-align: center;
}
.idir-empty svg { color: #c7cbd4; }

/* ===== شبكة كروت المصانع الاحترافية ===== */
.idir-grid--factories { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 20px; }

.idir-factory-card {
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	border-radius: 16px;
	border: 1px solid var(--idir-border);
	box-shadow: 0 1px 3px rgba(20, 30, 60, .05);
	transition: box-shadow .15s ease, transform .05s ease;
}
.idir-factory-card:hover { box-shadow: 0 10px 28px rgba(20, 30, 60, .12); transform: translateY(-2px); }
.idir-factory-card__link.idir-card--link:hover { transform: none; }
.idir-factory-card__link { display: block; }

.idir-factory-card__cover {
	position: relative;
	height: 118px;
	background: #eef1f5;
	overflow: visible;
}
.idir-factory-card__cover-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.idir-factory-card__cover-fallback {
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 20% 30%, rgba(255,255,255,.18) 0, transparent 45%),
		radial-gradient(circle at 80% 70%, rgba(255,255,255,.14) 0, transparent 40%),
		linear-gradient(135deg, var(--idir-primary) 0%, var(--idir-primary-dark) 100%);
}

.idir-factory-card__logo {
	position: absolute;
	inset-block-end: -26px;
	inset-inline-start: 18px;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #eef3fc;
	border: 3px solid #fff;
	box-shadow: 0 2px 6px rgba(20, 30, 60, .15);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.idir-factory-card__logo-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.idir-factory-card__logo-fallback {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--idir-primary);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.idir-factory-card .idir-card__body { padding: 36px 18px 18px; flex: 1; display: flex; flex-direction: column; }
.idir-factory-card .idir-card__body h3 {
	margin: 0 0 6px;
	font-size: 1.05rem;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.idir-factory-card__meta {
	margin: 0 0 12px;
	font-size: .8rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
}
.idir-factory-card__meta-item { display: inline-flex; align-items: center; gap: 4px; }
.idir-factory-card__meta-item svg { flex-shrink: 0; color: #9aa1ad; }
.idir-factory-card__meta-item--link { color: var(--idir-primary); font-weight: 600; }
.idir-factory-card__meta-item--link svg { color: var(--idir-primary); }

.idir-factory-card__tags {
	margin-block-start: auto;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.idir-tag {
	display: inline-block;
	background: #f1f3f6;
	color: #5b6270;
	border-radius: 6px;
	padding: 3px 9px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .2px;
}

.idir-factory-card__contact {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 18px;
	border-block-start: 1px solid var(--idir-border);
}
.idir-factory-card__contact-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f1f3f6;
	color: #5b6270;
	transition: background .15s ease, color .15s ease;
	flex-shrink: 0;
}
.idir-factory-card__contact-btn:hover { background: var(--idir-primary); color: #fff; }
.idir-factory-card__contact-btn--whatsapp:hover { background: #25d366; color: #fff; }

/* الحقول */
.idir-form { display: flex; flex-direction: column; gap: 16px; }
.idir-field { display: flex; flex-direction: column; gap: 6px; }
.idir-field-group { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.idir-field label { font-weight: 600; font-size: .9rem; }
.idir-field input, .idir-field select, .idir-field textarea {
	width: 100%; padding: 10px 12px;
	border: 1px solid var(--idir-border); border-radius: 8px;
	font: inherit; background: #fff;
}
.idir-field input:focus, .idir-field select:focus, .idir-field textarea:focus {
	outline: none; border-color: var(--idir-primary);
	box-shadow: 0 0 0 3px rgba(26,95,208,.12);
}
.idir-hint { color: var(--idir-muted); font-size: .8rem; }
.idir-hint--warning {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	color: #92620a;
	background: #fff8e6;
	border: 1px solid #f3d98a;
	border-radius: 8px;
	padding: 8px 10px;
	margin-block-start: 4px;
	font-weight: 600;
}
.idir-req { color: var(--idir-danger); }

/* الأزرار — موحّدة: أزرق بخط أبيض (نفرض اللون للتغلّب على الثيم) */
.idir .idir-btn,
.idir a.idir-btn,
.idir button.idir-btn {
	display: inline-flex; align-items: center; justify-content: center;
	gap: 6px; padding: 10px 18px;
	border: 1px solid var(--idir-primary); border-radius: 8px;
	background: var(--idir-primary) !important; color: #fff !important;
	font: inherit; font-weight: 600; cursor: pointer; text-decoration: none;
	transition: background .15s ease, border-color .15s ease;
	text-shadow: none;
}
.idir .idir-btn *,
.idir a.idir-btn *,
.idir button.idir-btn * { color: #fff !important; }
.idir .idir-btn:hover,
.idir a.idir-btn:hover,
.idir button.idir-btn:hover { filter: brightness(.9); color: #fff !important; }
.idir .idir-btn:visited,
.idir a.idir-btn:visited { color: #fff !important; }
.idir-btn--primary { background: var(--idir-primary); border-color: var(--idir-primary); }
.idir-btn--primary:hover { background: var(--idir-primary-dark); border-color: var(--idir-primary-dark); }
.idir-btn--success { background: var(--idir-primary); border-color: var(--idir-primary); }
.idir-btn--success:hover { background: var(--idir-primary-dark); border-color: var(--idir-primary-dark); }
.idir-btn--danger { background: var(--idir-primary); border-color: var(--idir-primary); }
.idir-btn--danger:hover { background: var(--idir-primary-dark); border-color: var(--idir-primary-dark); }
.idir-btn--small { padding: 6px 13px; font-size: .82rem; }
.idir-btn--block { display: flex; width: 100%; margin-block-start: 12px; }
.idir-btn[disabled] { opacity: .6; cursor: not-allowed; }
.idir-form__buttons { display: flex; gap: 12px; flex-wrap: wrap; }

/* الجداول */
.idir-table { width: 100%; border-collapse: collapse; }
.idir-table th, .idir-table td { text-align: start; padding: 11px 10px; border-block-end: 1px solid var(--idir-border); }
.idir-table th { font-size: .85rem; color: var(--idir-muted); }

/* الشارات */
.idir-badge { display: inline-block; padding: 2px 10px; border-radius: 999px; background: #eef2f7; color: #445; font-size: .78rem; font-weight: 600; }
.idir-badge--published { background: #e6f4ec; color: var(--idir-success); }
.idir-badge--draft { background: #eef2f7; color: #667; }
.idir-badge--pending { background: #fff7ee; color: #b8730a; }
.idir-badge--suspended { background: #fdecee; color: var(--idir-danger); }

/* التنبيهات والرسائل */
.idir-notice { padding: 16px 18px; border-radius: 8px; margin-block-end: 16px; border-inline-start: 4px solid var(--idir-muted); background: #f6f7f9; }
.idir-notice--info { border-color: var(--idir-primary); background: #eefaf2; }
.idir-notice--warning { border-color: #b8730a; background: #fff7ee; }
.idir-notice p { margin: 0 0 10px; }
.idir-message { padding: 12px 16px; border-radius: 8px; margin-block-end: 12px; }
.idir-message--error { background: #fdecee; color: var(--idir-danger); }
.idir-message--success { background: #e6f4ec; color: var(--idir-success); }

/* الدليل */
.idir-filters { display: flex; gap: 12px; flex-wrap: wrap; margin-block-end: 16px; }
.idir-filters select { padding: 8px 12px; border: 1px solid var(--idir-border); border-radius: 8px; font: inherit; }
.idir-excerpt { font-size: .9rem; color: #556; }
.idir-pagination { display: flex; gap: 6px; flex-wrap: wrap; margin-block-start: 20px; }
.idir-page { padding: 6px 12px; border: 1px solid var(--idir-border); border-radius: 6px; text-decoration: none; color: inherit; }
.idir-page.is-current { background: var(--idir-primary); color: #fff; border-color: var(--idir-primary); }

/* صفحات مفردة */
.idir-single__cover { border-radius: var(--idir-radius); overflow: hidden; margin-block-end: 16px; }
.idir-cover-img { width: 100%; height: auto; display: block; }
.idir-single__head { display: flex; align-items: center; gap: 16px; margin-block-end: 20px; }
.idir-logo-img { border-radius: 10px; }
.idir-single section { margin-block-end: 24px; }
.idir-contact-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.idir-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; }
.idir-gallery__img { width: 100%; height: auto; border-radius: 8px; }
.idir-back { text-decoration: none; color: var(--idir-muted); font-size: .9rem; display: inline-block; margin-block-end: 6px; }
.idir-muted { color: var(--idir-muted); }

@media (max-width: 600px) {
	.idir-field-group { grid-template-columns: 1fr; }
}

/* ===== صفحة المصنع الاحترافية ===== */
.idir-fac { max-width: 1080px; margin-inline: auto; }
.idir-fac__hero { position: relative; margin-block-end: 64px; }
.idir-fac__cover { height: 240px; border-radius: 16px; overflow: hidden; background: linear-gradient(135deg, #1a5fd0, #0d3f96); }
.idir-fac__cover--empty { background: linear-gradient(135deg, #1a5fd0, #0d3f96); }
.idir-fac__cover-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.idir-fac__headbar {
	position: absolute; inset-inline: 24px; inset-block-end: -48px;
	display: flex; align-items: flex-end; gap: 18px;
}
.idir-fac__logo {
	width: 96px; height: 96px; border-radius: 18px; background: #fff;
	border: 4px solid #fff; box-shadow: 0 6px 20px rgba(0,0,0,.14);
	overflow: hidden; display: grid; place-items: center; flex-shrink: 0;
}
.idir-fac__logo-img { width: 100%; height: 100%; object-fit: cover; }
.idir-fac__logo-fallback { font-size: 2.4rem; font-weight: 800; color: var(--idir-primary); }
.idir-fac__titles { padding-block-end: 8px; }
.idir-fac__name { margin: 0 0 8px; font-size: 1.7rem; font-weight: 800; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.45); }
.idir-fac__meta { display: flex; gap: 8px; flex-wrap: wrap; }
.idir-chip { background: var(--idir-primary); color: #fff; border-radius: 999px; padding: 4px 14px; font-size: .82rem; font-weight: 600; }
.idir-chip--soft { background: rgba(255,255,255,.9); color: #144bab; }

.idir-fac__body, .idir-fac__content { max-width: 1080px; margin-inline: auto; }
.idir-fac__langbar { display: flex; justify-content: flex-start; margin-block-end: 12px; }
.idir-panel { background: #fff; border: 1px solid var(--idir-border); border-radius: 14px; padding: 22px 24px; margin-block-end: 20px; }
.idir-panel--sticky { position: sticky; top: 20px; }
.idir-panel__title { margin: 0 0 14px; font-size: 1.15rem; font-weight: 700; padding-block-end: 10px; border-block-end: 2px solid #eef1f6; }
.idir-panel__text { margin: 0; color: #445; }

.idir-map { border-radius: 12px; overflow: hidden; border: 1px solid var(--idir-border); }
.idir-map__frame { width: 100%; height: 300px; border: 0; display: block; }

.idir-contact { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
.idir-contact--grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.idir-contact li { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-block-end: 1px solid #f0f2f6; }
.idir-contact__label { color: var(--idir-muted); font-size: .88rem; font-weight: 600; }
.idir-contact a { color: var(--idir-primary); text-decoration: none; }
.idir-contact a:hover { text-decoration: underline; }
.idir-contact--private .idir-contact__label::after { content: " •"; color: var(--idir-primary); }

@media (max-width: 880px) {
	.idir-contact--grid { grid-template-columns: 1fr; }
	.idir-fac__headbar { inset-inline: 16px; }
	.idir-fac__name { font-size: 1.35rem; }
}

/* ===== رفع الصور في النموذج ===== */
.idir-upload__preview { min-height: 60px; display: flex; align-items: center; margin-block: 6px; }
.idir-upload__img { max-width: 120px; max-height: 90px; border-radius: 8px; border: 1px solid var(--idir-border); object-fit: cover; }
.idir-upload__input { font-size: .85rem; }
.idir-fac__langbar .idir-btn { text-decoration: none; }

/* ===== معرض صور المنتج في النموذج ===== */
.idir-gallery-upload__list { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 8px; }
.idir-gallery-upload__item { position: relative; display: inline-block; }
.idir-gallery-upload__item img { width: 84px; height: 84px; object-fit: cover; border-radius: 8px; border: 1px solid var(--idir-border); }
.idir-gallery-upload__remove {
	position: absolute; inset-block-start: -8px; inset-inline-start: -8px;
	width: 22px; height: 22px; border-radius: 50%; border: 0;
	background: #dc3545; color: #fff; cursor: pointer; font-weight: 700; line-height: 1;
}

/* ===== صفحة المنتج الاحترافية ===== */
.idir-prod { max-width: 1080px; margin-inline: auto; }
.idir-prod__top { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; margin-block-end: 8px; }
.idir-prod__main-img { border-radius: 14px; overflow: hidden; border: 1px solid var(--idir-border); background: #f6f7f9; }
.idir-prod__main-img img { width: 100%; height: auto; display: block; cursor: zoom-in; }
.idir-prod__main-img--empty { aspect-ratio: 4/3; background: linear-gradient(135deg, #eef1f6, #dfe4ec); }
.idir-prod__thumbs { display: flex; gap: 8px; flex-wrap: wrap; margin-block-start: 10px; }
.idir-prod__thumb { padding: 0; border: 2px solid transparent; border-radius: 8px; background: none; cursor: pointer; overflow: hidden; line-height: 0; }
.idir-prod__thumb img { width: 66px; height: 66px; object-fit: cover; border-radius: 6px; }
.idir-prod__thumb:hover { border-color: var(--idir-primary); }
.idir-prod__name { margin: 0 0 8px; font-size: 1.7rem; font-weight: 800; }
.idir-prod__factory { margin: 0 0 16px; color: var(--idir-muted); }
.idir-prod__factory a { color: var(--idir-primary); text-decoration: none; }
.idir-prod__facts { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-direction: column; gap: 2px; }
.idir-prod__facts li { display: flex; justify-content: space-between; padding: 10px 0; border-block-end: 1px solid #f0f2f6; }
.idir-prod__facts span { color: var(--idir-muted); }

/* الفيديو (شاشة صغيرة متجاوبة) */
.idir-video { max-width: 560px; border-radius: 12px; overflow: hidden; border: 1px solid var(--idir-border); }
.idir-video__frame { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; display: block; }
.idir-video--tiktok { max-width: 340px; }
.idir-video--tiktok .idir-video__frame { aspect-ratio: 9/16; }

/* المعرض المكبّر (lightbox) */
.idir-lightbox { position: fixed; inset: 0; z-index: 99999; background: rgba(0,0,0,.9); display: flex; align-items: center; justify-content: center; }
.idir-lightbox[hidden] { display: none; }
.idir-lightbox__img { max-width: 90vw; max-height: 85vh; border-radius: 8px; }
.idir-lightbox__close { position: absolute; inset-block-start: 18px; inset-inline-end: 24px; background: none; border: 0; color: #fff; font-size: 2.4rem; cursor: pointer; line-height: 1; }
.idir-lightbox__nav { position: absolute; inset-block-start: 50%; transform: translateY(-50%); background: rgba(255,255,255,.15); color: #fff; border: 0; width: 52px; height: 52px; border-radius: 50%; font-size: 1.5rem; cursor: pointer; }
.idir-lightbox__nav:hover { background: rgba(255,255,255,.3); }
.idir-lightbox__prev { inset-inline-start: 20px; }
.idir-lightbox__next { inset-inline-end: 20px; }

@media (max-width: 780px) {
	.idir-prod__top { grid-template-columns: 1fr; }
	.idir-prod__name { font-size: 1.35rem; }
}

/* ===== شارات النوع ===== */
.idir-type-badge { display: inline-block; background: #eef3fc; color: var(--idir-primary); border-radius: 999px; padding: 2px 12px; font-size: .78rem; font-weight: 700; margin-block-end: 8px; }
.idir-chip--type { background: #fff; color: var(--idir-primary); border: 1px solid rgba(255,255,255,.7); }

/* ===== ودجت: بحث/أحدث/مميّزة/مشابهة/إحصائيات (1.2.0) ===== */
.idir-widget { margin-block-end: 24px; }
.idir-widget__title { font-size: 1.2rem; margin: 0 0 14px; }

.idir-search { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.idir-search__input { flex: 1 1 220px; padding: 9px 14px; border: 1px solid var(--idir-border); border-radius: 8px; font: inherit; }
.idir-search__select { padding: 9px 12px; border: 1px solid var(--idir-border); border-radius: 8px; font: inherit; }
.idir-search__submit { flex: 0 0 auto; }

.idir-card__thumb { aspect-ratio: 4/3; overflow: hidden; border-radius: 8px 8px 0 0; background: #f4f5f7; display: flex; align-items: center; justify-content: center; }
.idir-card__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.idir-card__thumb-fallback { color: #b8bcc4; display: flex; align-items: center; justify-content: center; }
.idir-product-card { padding: 0; overflow: hidden; }
.idir-product-card .idir-card__body { padding: 14px 16px; }

.idir-stats__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 14px; }
.idir-stat { background: #fff; border: 1px solid var(--idir-border); border-radius: 10px; padding: 18px; text-align: center; }
.idir-stat__value { display: block; font-size: 1.8rem; font-weight: 800; color: var(--idir-primary); }
.idir-stat__label { display: block; margin-block-start: 4px; color: var(--idir-muted); font-size: .85rem; }
