مدیاویکی:Common.css: تفاوت میان نسخهها
Esfandiari (بحث | مشارکتها) بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
| (۶۶ نسخهٔ میانی ویرایش شده توسط ۲ کاربر نشان داده نشد) | |||
| خط ۱٬۹۳۱: | خط ۱٬۹۳۱: | ||
/* کانتینر اصلی و سهبعدی آیکون */ | /* کانتینر اصلی و سهبعدی آیکون */ | ||
.wiki-3d-box { | .wiki-3d-box { | ||
width: | width: 110px; | ||
height: | height: 110px; | ||
border-radius: 15px; /* گوشههای نرم مربع */ | border-radius: 15px; /* گوشههای نرم مربع */ | ||
background: radial-gradient(circle at 30% 30%, #ffffff 0%, #fcfcfc 40%, #ececec 80%, #dfdfdf 100%); | background: radial-gradient(circle at 30% 30%, #ffffff 0%, #fcfcfc 40%, #ececec 80%, #dfdfdf 100%); | ||
border: 3px solid #eef0f3; | border: 3px solid #eef0f3; | ||
box-shadow: 0 0px | box-shadow: 0 0px 8px rgba(0, 0, 0, 0.15), | ||
inset 0 4px 8px rgba(255, 255, 255, 1), | inset 0 4px 8px rgba(255, 255, 255, 1), | ||
inset 0 -6px 12px rgba(0, 0, 0, 0.08); | inset 0 -6px 12px rgba(0, 0, 0, 0.08); | ||
| خط ۱٬۹۵۱: | خط ۱٬۹۵۱: | ||
.wiki-3d-box:hover { | .wiki-3d-box:hover { | ||
transform: scale(1.08); /* ۸ درصد بزرگنمایی */ | transform: scale(1.08); /* ۸ درصد بزرگنمایی */ | ||
box-shadow: 0 0px | box-shadow: 0 0px 10px rgb(93, 156, 227), | ||
inset 0 4px 8px rgba(255, 255, 255, 1), | inset 0 4px 8px rgba(255, 255, 255, 1), | ||
inset 0 -6px 12px rgba(0, 0, 0, 0.08) !important; /* عمیقتر شدن سایه بیرونی */ | inset 0 -6px 12px rgba(0, 0, 0, 0.08) !important; /* عمیقتر شدن سایه بیرونی */ | ||
| خط ۱٬۹۵۸: | خط ۱٬۹۵۸: | ||
/* فریم یا قاب داخلی سفید رنگ دور تصویر */ | /* فریم یا قاب داخلی سفید رنگ دور تصویر */ | ||
.wiki-3d-inner-frame { | .wiki-3d-inner-frame { | ||
width: | width: 105px; | ||
height: | height: 105px; | ||
border-radius: 8px; | border-radius: 8px; | ||
border: 4px solid #ffffff; | border: 4px solid #ffffff; | ||
| خط ۱٬۹۸۵: | خط ۱٬۹۸۵: | ||
طراحی آیکونهای دایره سهبعدی و هوشمند (سازگار با انواع تصاویر) | طراحی آیکونهای دایره سهبعدی و هوشمند (سازگار با انواع تصاویر) | ||
========================================================================== */ | ========================================================================== */ | ||
/* کانتینر اصلی و سهبعدی آیکون */ | /* کانتینر اصلی و سهبعدی آیکون */ | ||
.wiki-3d-circle { | .wiki-3d-circle { | ||
width: | box-sizing: border-box; | ||
height: | width: 110px; | ||
border-radius: 50%; | height: 110px; | ||
border-radius: 50%; | |||
background: radial-gradient(circle at 30% 30%, #ffffff 0%, #fcfcfc 40%, #ececec 80%, #dfdfdf 100%); | background: radial-gradient(circle at 30% 30%, #ffffff 0%, #fcfcfc 40%, #ececec 80%, #dfdfdf 100%); | ||
border: 3px solid #eef0f3; | border: 3px solid #eef0f3; | ||
box-shadow: 0 | box-shadow: 0 0 8px rgba(0, 0, 0, 0.12), | ||
inset 0 4px 8px rgba(255, 255, 255, 1), | inset 0 4px 8px rgba(255, 255, 255, 1), | ||
inset 0 -6px 12px rgba(0, 0, 0, 0.08); | inset 0 -6px 12px rgba(0, 0, 0, 0.08); | ||
display: flex; | display: flex; | ||
| خط ۲٬۰۰۱: | خط ۲٬۰۰۱: | ||
overflow: hidden; | overflow: hidden; | ||
position: relative; | position: relative; | ||
transition: transform 0.3s ease, box-shadow 0.3s ease !important; | transition: transform 0.3s ease, box-shadow 0.3s ease !important; | ||
cursor: pointer; | cursor: pointer; | ||
} | } | ||
/* افکت رفتن موس روی آیکون | /* افکت رفتن موس روی آیکون */ | ||
.wiki-3d-circle:hover { | .wiki-3d-circle:hover { | ||
transform: scale(1.08); | transform: scale(1.08); | ||
box-shadow: 0 | box-shadow: 0 0 10px rgba(93, 156, 227, 0.5), | ||
inset 0 4px 8px rgba(255, 255, 255, 1), | inset 0 4px 8px rgba(255, 255, 255, 1), | ||
inset 0 -6px 12px rgba(0, 0, 0, 0.08) !important; | inset 0 -6px 12px rgba(0, 0, 0, 0.08) !important; | ||
} | } | ||
/* فریم | /* فریم داخلی سفید */ | ||
.wiki-3d-inner-frame-circle { | .wiki-3d-inner-frame-circle { | ||
width: | box-sizing: border-box; | ||
height: | width: 102px; /* کمی کوچکتر شد تا از تداخل مرزها جلوگیری شود */ | ||
height: 102px; | |||
border-radius: 50%; | border-radius: 50%; | ||
border: | border: 3px solid #ffffff; /* کاهش ضخامت برای هماهنگی بیشتر */ | ||
background-clip: padding-box; /* جلوگیری از نشست رنگ مرز به داخل */ | |||
overflow: hidden; | overflow: hidden; | ||
display: flex; | display: flex; | ||
| خط ۲٬۰۲۷: | خط ۲٬۰۲۸: | ||
} | } | ||
/* نگهدارنده | /* نگهدارنده تصویر */ | ||
.wiki-3d-image-wrapper-circle { | .wiki-3d-image-wrapper-circle { | ||
width: 100%; | |||
height: 100%; | |||
display: flex; | display: flex; | ||
justify-content: center; | justify-content: center; | ||
align-items: center; | align-items: center; | ||
} | } | ||
.wiki-3d-image-wrapper-circle img, | |||
.wiki-3d-circle img { | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; /* پر کردن کامل بدون بهم ریختگی */ | |||
display: block !important; | |||
} | |||
/* --- MediaWiki Full-Width Banner Slider (3:1) --- */ | /* --- MediaWiki Full-Width Banner Slider (3:1) --- */ | ||
.fgwiki-slider { | .fgwiki-slider { | ||
| خط ۲٬۱۰۸: | خط ۲٬۱۲۰: | ||
background: #ffffff; | background: #ffffff; | ||
transform: scale(1.2); | transform: scale(1.2); | ||
} | |||
/* کانتینر اصلی */ | |||
.video-grid { | |||
display: flex; | |||
flex-wrap: wrap; /* اجازه میدهد در صفحه کوچک، ویدیوها به سطر بعدی بروند */ | |||
gap: 15px; /* فاصله بین ویدیوها */ | |||
justify-content: center; | |||
} | |||
/* آیتم ویدیو */ | |||
.video-item { | |||
/* در دسکتاپ: ۳ ویدیو در هر ردیف (با کسر فاصله) */ | |||
flex: 1 1 calc(33.33% - 15px); | |||
min-width: 280px; /* حداقل عرض برای اینکه در تبلت خیلی کوچک نشوند */ | |||
} | |||
/* در موبایل: ویدیوها ۱۰۰ درصد عرض را میگیرند */ | |||
@media (max-width: 768px) { | |||
.video-item { | |||
flex: 1 1 100%; | |||
min-width: 100%; /* این خط باعث میشود در موبایل کامل پر شود */ | |||
} | |||
} | |||
/* تنظیمات خود ویدیو */ | |||
.video-item video { | |||
width: 100%; | |||
height: auto; | |||
display: block; | |||
border-radius: 8px; | |||
background-color: #000; /* رنگ پسزمینه در صورت لود نشدن */ | |||
} | |||
.category-grid { | |||
display: grid; | |||
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); | |||
gap: 16px; | |||
margin: 20px 0; | |||
padding: 0; | |||
} | |||
.category-card { | |||
display: block; | |||
padding: 18px 16px; | |||
background: #ffffff; | |||
border: 1px solid #e5e7eb; | |||
border-radius: 14px; | |||
text-decoration: none; | |||
color: #1f2937; | |||
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06); | |||
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; | |||
} | |||
.category-card:hover { | |||
transform: translateY(-4px); | |||
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); | |||
border-color: #cbd5e1; | |||
text-decoration: none; | |||
} | |||
.category-title { | |||
display: block; | |||
font-size: 16px; | |||
font-weight: 700; | |||
line-height: 1.8; | |||
margin: 0; | |||
color: #111827; | |||
} | |||
.category-desc { | |||
display: block; | |||
margin-top: 8px; | |||
font-size: 13px; | |||
line-height: 1.9; | |||
color: #6b7280; | |||
} | |||
.category-section-title { | |||
font-size: 24px; | |||
font-weight: 800; | |||
margin: 24px 0 16px; | |||
color: #111827; | |||
text-align: center; | |||
} | |||
@media (max-width: 768px) { | |||
.category-grid { | |||
grid-template-columns: 1fr; | |||
gap: 12px; | |||
} | |||
.category-card { | |||
padding: 16px 14px; | |||
border-radius: 12px; | |||
} | |||
.category-title { | |||
font-size: 15px; | |||
} | |||
.category-desc { | |||
font-size: 12px; | |||
} | |||
} | |||
/* ========================================= | |||
Full CSS - only requested fixes applied | |||
Based on pasted-text.txt | |||
========================================= */ | |||
/* 1) Category Tree */ | |||
#mw-subcategories ul { | |||
margin: 0; | |||
padding-right: 1.5em; | |||
list-style: none; | |||
} | |||
.CategoryTreeChildren { | |||
margin-left: 1.25em; | |||
} | |||
.CategoryTreeToggle { | |||
color: #36c; | |||
} | |||
.CategoryTreeEmptyBullet { | |||
color: #c8ccd1; | |||
} | |||
/* 2) Portal / Province Layouts */ | |||
.portal-container-2, | |||
.portal-container-3, | |||
.portal-container-4, | |||
.portal-container-5, | |||
.portal-container-6, | |||
.portal-container-7 { | |||
display: grid; | |||
grid-gap: 15px; | |||
margin: 0; | |||
padding: 0; | |||
box-sizing: border-box; | |||
} | |||
.portal-container-2 { | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
} | |||
.portal-container-3 { | |||
grid-template-columns: repeat(3, minmax(0, 1fr)); | |||
} | |||
.portal-container-4 { | |||
grid-template-columns: repeat(4, minmax(0, 1fr)); | |||
} | |||
.portal-container-5 { | |||
grid-template-columns: repeat(5, minmax(0, 1fr)); | |||
} | |||
.portal-container-6 { | |||
grid-template-columns: repeat(6, auto); | |||
grid-template-rows: auto; | |||
} | |||
.portal-container-7 { | |||
grid-template-columns: repeat(7, minmax(0, 1fr)); | |||
} | |||
/* Decouple the columns on narrow screens */ | |||
@media screen and (max-width: 992px) { | |||
.portal-container-2, | |||
.portal-container-3, | |||
.portal-container-4, | |||
.portal-container-5, | |||
.portal-container-6, | |||
.portal-container-7 { | |||
grid-template-columns: repeat(3, minmax(0, 1fr)); | |||
} | |||
} | |||
@media screen and (max-width: 768px) { | |||
.portal-container-2, | |||
.portal-container-3, | |||
.portal-container-4, | |||
.portal-container-5, | |||
.portal-container-6, | |||
.portal-container-7 { | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
} | |||
} | |||
/* Sidebar override */ | |||
.mw-parser-output .sidebar { | |||
width: auto !important; | |||
} | |||
/* 3) Generic Category Grid */ | |||
.category-grid { | |||
display: grid; | |||
grid-template-columns: repeat(5, minmax(0, 1fr)); | |||
gap: 16px; | |||
margin: 0; | |||
padding: 0; | |||
box-sizing: border-box; | |||
} | |||
.category-card { | |||
display: block; | |||
padding: 18px 16px; | |||
border-radius: 12px; | |||
background: #fff; | |||
border: 1px solid #e5e7eb; | |||
text-decoration: none; | |||
color: #1f2937; | |||
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06); | |||
transition: transform 0.2s ease, box-shadow 0.2s ease; | |||
} | |||
.category-card:hover { | |||
transform: translateY(-4px); | |||
box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); | |||
} | |||
.category-title { | |||
display: block; | |||
font-size: 16px; | |||
font-weight: 700; | |||
line-height: 1.5; | |||
} | |||
.category-desc { | |||
display: block; | |||
margin-top: 8px; | |||
font-size: 13px; | |||
color: #6b7280; | |||
line-height: 1.7; | |||
} | |||
/* 4) Wiki Category Grid */ | |||
.wiki-category-container { | |||
direction: rtl; | |||
max-width: 1400px; | |||
margin: 10px auto; | |||
padding: 10px; | |||
box-sizing: border-box; | |||
} | |||
.wiki-category-grid { | |||
display: grid !important; | |||
grid-template-columns: repeat(5, 1fr) !important; | |||
gap: 12px !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
} | |||
.wiki-category-card { | |||
display: flex !important; | |||
align-items: center; | |||
justify-content: center; | |||
width: 100% !important; | |||
min-width: 0 !important; | |||
min-height: 52px; | |||
padding: 12px 8px !important; | |||
border: 1.5px solid #8ee0d8; | |||
border-radius: 12px; | |||
background: #ffffff; | |||
color: #2d3748 !important; | |||
text-decoration: none !important; | |||
text-align: center; | |||
font-size: clamp(10px, 0.9vw, 13px) !important; | |||
font-weight: 400; | |||
line-height: 1.3; | |||
white-space: nowrap !important; | |||
overflow: hidden !important; | |||
text-overflow: clip !important; | |||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02); | |||
transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease, color 0.25s ease; | |||
} | |||
.wiki-category-card:hover, | |||
.wiki-category-card:active { | |||
transform: translateY(-3px); | |||
border-color: #65c3ba; | |||
color: #65c3ba !important; | |||
text-decoration: none !important; | |||
box-shadow: 0 4px 12px rgba(101, 195, 186, 0.15); | |||
} | |||
.wiki-category-card:visited { | |||
color: #2d3748 !important; | |||
} | |||
.wiki-category-card:focus { | |||
outline: none; | |||
border-color: #65c3ba; | |||
box-shadow: 0 0 0 3px rgba(101, 195, 186, 0.18); | |||
} | |||
@media (max-width: 992px) { | |||
.wiki-category-grid { | |||
grid-template-columns: repeat(3, minmax(0, 1fr)) !important; | |||
} | |||
.wiki-category-card { | |||
font-size: clamp(9.5px, 1.3vw, 12px) !important; | |||
} | |||
.category-grid { | |||
grid-template-columns: repeat(3, minmax(0, 1fr)); | |||
} | |||
} | |||
@media (max-width: 768px) { | |||
.wiki-category-container { | |||
padding: 8px; | |||
} | |||
.wiki-category-grid { | |||
grid-template-columns: repeat(2, minmax(0, 1fr)) !important; | |||
gap: 10px !important; | |||
} | |||
.wiki-category-card { | |||
min-height: 46px; | |||
padding: 10px 6px !important; | |||
font-size: clamp(9px, 2.8vw, 11px) !important; | |||
} | |||
.category-grid { | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
} | |||
} | |||
/* ========================================================================== | |||
ساختار گالری تصاویر دایرهای منعطف (Responsive Circle Gallery) | |||
طراحی شده برای استفاده در الگوهای ردیفی ویکی | |||
========================================================================== */ | |||
/* کانتینر اصلی گالری */ | |||
.wiki-circle-gallery { | |||
display: flex; | |||
flex-direction: row; | |||
flex-wrap: wrap; | |||
gap: 16px; | |||
justify-content: center; | |||
align-items: flex-start; | |||
width: 100%; | |||
margin: 15px 0; | |||
box-sizing: border-box; | |||
} | |||
/* آیتمهای مجزای گالری (شامل تصویر و کپشن زیر آن) */ | |||
.wiki-circle-item { | |||
display: flex; | |||
flex-direction: column; | |||
align-items: center; | |||
justify-content: flex-start; | |||
flex: 1 1 21%; /* توزیع بهینه ۴ ستون در حالت دسکتاپ */ | |||
min-width: 130px; /* جلوگیری از تغییر فرم در صفحات بسیار کوچک */ | |||
gap: 8px; /* فاصله عمودی استاندارد بین دایره و متن */ | |||
box-sizing: border-box; | |||
} | |||
/* استایل کپشن زیر تصاویر */ | |||
.wiki-circle-caption { | |||
font-size: 0.88em; | |||
font-weight: 500; | |||
line-height: 1.45; | |||
color: #3b3b3b; | |||
text-align: center; | |||
word-break: break-word; | |||
max-width: 100%; | |||
} | |||
/* مدل جدید برای فیت کردن عکس داخل دایره */ | |||
.wiki-avatar-3d { | |||
width: 230px; | |||
height: 230px; | |||
margin: 20px auto; | |||
border-radius: 50%; | |||
background: radial-gradient(circle at 30% 30%, #ffffff 0%, #fcfcfc 42%, #ececec 80%, #dfdfdf 100%); | |||
border: 3px solid #eef0f3; | |||
box-shadow: | |||
0 15px 35px rgba(0, 0, 0, 0.15), | |||
inset 0 4px 8px rgba(255, 255, 255, 1), | |||
inset 0 -6px 12px rgba(0, 0, 0, 0.08); | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
overflow: hidden; | |||
transition: transform 0.3s ease, box-shadow 0.3s ease; | |||
} | |||
.wiki-avatar-3d:hover { | |||
transform: scale(1.08); | |||
box-shadow: | |||
0 20px 45px rgba(0, 0, 0, 0.25), | |||
inset 0 4px 8px rgba(255, 255, 255, 1), | |||
inset 0 -6px 12px rgba(0, 0, 0, 0.08); | |||
} | |||
.wiki-avatar-3d__inner { | |||
width: 82%; | |||
height: 82%; | |||
border-radius: 50%; | |||
border: 4px solid #fff; | |||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12); | |||
overflow: hidden; | |||
background-color: #f9f9f9; | |||
background-position: center center; | |||
background-repeat: no-repeat; | |||
background-size: cover; | |||
} | |||
/* جلوگیری از اسکرول صفحه */ | |||
/* کانتینر اصلی پاپآپ */ | |||
/* جلوگیری از اسکرول صفحه */ | |||
body.modal-open { overflow: hidden !important; } | |||
.discount-overlay { | |||
position: fixed; inset: 0; z-index: 99999; | |||
display: flex; align-items: center; justify-content: center; | |||
padding: 20px; background: rgba(15, 23, 42, 0.75); | |||
backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); | |||
opacity: 0; visibility: hidden; transition: all 0.3s ease; | |||
} | |||
.discount-overlay.is-visible { opacity: 1; visibility: visible; } | |||
.discount-modal { | |||
position: relative; width: min(100%, 500px); padding: 40px 30px; | |||
text-align: center; background: white; border-radius: 24px; | |||
box-shadow: 0 20px 50px rgba(0,0,0,0.3); | |||
transform: translateY(30px); transition: 0.4s cubic-bezier(0.17, 0.84, 0.44, 1); | |||
direction: rtl; font-family: iransans, sans-serif; | |||
} | |||
.discount-overlay.is-visible .discount-modal { transform: translateY(0); } | |||
.discount-modal__close { | |||
position: absolute; top: 15px; left: 15px; background: #f1f5f9; | |||
border: none; border-radius: 50%; width: 35px; height: 35px; cursor: pointer; | |||
} | |||
.discount-modal__image { | |||
width: 80px; height: 80px; object-fit: contain; margin-bottom: 15px; | |||
border-radius: 15px; | |||
} | |||
.discount-modal__title { color: #0f172a; font-size: 22px; margin: 10px 0; font-weight: 900; } | |||
.discount-modal__desc { color: #64748b; font-size: 14px; line-height: 1.8; margin-bottom: 20px; } | |||
.discount-modal__button { | |||
display: block; width: 100%; padding: 14px; background: #f59e0b; | |||
color: #111827; text-decoration: none; border-radius: 12px; | |||
font-weight: bold; font-size: 15px; transition: 0.2s; | |||
} | |||
.discount-modal__button:hover { background: #d97706; color: white; } | |||
/* المان تنظیمات که در صفحه مخفی است */ | |||
#popup-settings { display: none; } | |||
@media (max-width: 768px) { | |||
.discount-modal { | |||
width: calc(100% - 24px); | |||
max-width: none; | |||
padding: 32px 20px; | |||
border-radius: 20px; | |||
} | |||
.discount-modal__title { | |||
font-size: 20px; | |||
} | |||
.discount-modal__desc { | |||
font-size: 15px; | |||
} | |||
.discount-modal__button { | |||
padding: 15px; | |||
font-size: 16px; | |||
} | |||
.discount-modal__image { | |||
width: 90px; | |||
height: 90px; | |||
} | |||
} | |||
@media (max-width: 480px) { | |||
.discount-modal { | |||
width: calc(100% - 16px); | |||
padding: 30px 16px; | |||
} | |||
} | |||
/* نقطه روی عکس */ | |||
/* کانتینر اصلی تصویر */ | |||
.interactive-image { | |||
position: relative; | |||
width: min(100%, 1000px); | |||
margin-inline: auto; | |||
isolation: isolate; | |||
} | |||
/* تصویر اصلی */ | |||
.interactive-image__main { | |||
display: block; | |||
width: 100%; | |||
height: auto; | |||
border-radius: 18px; | |||
} | |||
/* نقطه تعاملی */ | |||
.image-hotspot { | |||
position: absolute; | |||
z-index: 3; | |||
top: var(--y); | |||
left: var(--x); | |||
width: 42px; | |||
height: 42px; | |||
padding: 0; | |||
border: 0; | |||
border-radius: 50%; | |||
background: transparent; | |||
cursor: pointer; | |||
transform: translate(-50%, -50%); | |||
display: grid; | |||
place-items: center; | |||
} | |||
/* خود نقطه */ | |||
.image-hotspot__dot { | |||
position: relative; | |||
display: block; | |||
width: 16px; | |||
height: 16px; | |||
border: 3px solid #fff; | |||
border-radius: 50%; | |||
background: #e11d48; | |||
box-shadow: | |||
0 4px 12px rgba(0, 0, 0, 0.3), | |||
0 0 0 5px rgba(225, 29, 72, 0.25); | |||
} | |||
/* افکت موج دور نقطه */ | |||
.image-hotspot__dot::before, | |||
.image-hotspot__dot::after { | |||
content: ""; | |||
position: absolute; | |||
inset: 50%; | |||
width: 100%; | |||
height: 100%; | |||
border: 2px solid rgba(255, 255, 255, 0.9); | |||
border-radius: inherit; | |||
transform: translate(-50%, -50%); | |||
animation: hotspotPulse 2s infinite; | |||
} | |||
.image-hotspot__dot::after { | |||
animation-delay: 1s; | |||
} | |||
@keyframes hotspotPulse { | |||
0% { | |||
width: 100%; | |||
height: 100%; | |||
opacity: 0.9; | |||
} | |||
100% { | |||
width: 300%; | |||
height: 300%; | |||
opacity: 0; | |||
} | |||
} | |||
/* کارت اطلاعات */ | |||
.hotspot-card { | |||
position: absolute; | |||
z-index: 10; | |||
top: 50%; | |||
left: 50%; | |||
width: min(290px, calc(100% - 24px)); | |||
padding: 10px; | |||
border: 1px solid rgba(255, 255, 255, 0.6); | |||
border-radius: 16px; | |||
background: rgba(255, 255, 255, 0.96); | |||
box-shadow: 0 18px 50px rgba(15, 23, 42, 0.25); | |||
backdrop-filter: blur(10px); | |||
opacity: 0; | |||
visibility: hidden; | |||
pointer-events: none; | |||
transform: translate(-50%, -45%) scale(0.94); | |||
transition: | |||
opacity 180ms ease, | |||
visibility 180ms ease, | |||
transform 180ms ease; | |||
} | |||
/* وضعیت باز بودن کارت */ | |||
.hotspot-card.is-open { | |||
opacity: 1; | |||
visibility: visible; | |||
pointer-events: auto; | |||
transform: translate(-50%, -50%) scale(1); | |||
} | |||
/* تصویر داخل کارت */ | |||
.hotspot-card__image { | |||
display: block; | |||
width: 100%; | |||
aspect-ratio: 16 / 9; | |||
object-fit: cover; | |||
border-radius: 11px; | |||
} | |||
/* محتوای کارت */ | |||
.hotspot-card__content { | |||
padding: 12px 4px 4px; | |||
text-align: right; | |||
} | |||
.hotspot-card__title { | |||
display: block; | |||
margin-bottom: 5px; | |||
color: #0f172a; | |||
font-size: 16px; | |||
line-height: 1.6; | |||
} | } | ||
.hotspot-card__description { | |||
margin: 0 0 12px; | |||
color: #64748b; | |||
font-size: 13px; | |||
line-height: 1.7; | |||
} | |||
/* | /* دکمه CTA */ | ||
. | .hotspot-card__cta { | ||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
min-height: 42px; | |||
padding: 8px 16px; | |||
border-radius: 10px; | |||
background: #e11d48; | |||
color: #fff; | |||
font-size: 14px; | |||
font-weight: 700; | |||
text-decoration: none; | |||
transition: | |||
background-color 160ms ease, | |||
transform 160ms ease; | |||
} | |||
.hotspot-card__cta:hover { | |||
background: #be123c; | |||
transform: translateY(-1px); | |||
} | |||
/* دکمه بستن */ | |||
.hotspot-card__close { | |||
position: absolute; | |||
z-index: 2; | |||
top: 16px; | |||
left: 16px; | |||
width: 30px; | |||
height: 30px; | |||
padding: 0; | |||
border: 0; | |||
border-radius: 50%; | |||
background: rgba(15, 23, 42, 0.75); | |||
color: #fff; | |||
font-size: 22px; | |||
line-height: 1; | |||
cursor: pointer; | |||
} | |||
/* نمایش فوکوس برای کاربران کیبورد */ | |||
.image-hotspot:focus-visible, | |||
.hotspot-card__close:focus-visible, | |||
.hotspot-card__cta:focus-visible { | |||
outline: 3px solid #38bdf8; | |||
outline-offset: 3px; | |||
} | |||
/* موبایل */ | |||
@media (max-width: 600px) { | |||
.interactive-image__main { | |||
border-radius: 12px; | |||
} | |||
.hotspot-card { | |||
width: calc(100% - 20px); | |||
} | |||
.hotspot-card__image { | |||
aspect-ratio: 2 / 1; | |||
} | |||
} | |||
/* غیرفعالکردن انیمیشن برای کاربران حساس به حرکت */ | |||
@media (prefers-reduced-motion: reduce) { | |||
.image-hotspot__dot::before, | |||
.image-hotspot__dot::after { | |||
animation: none; | |||
} | |||
.hotspot-card { | |||
transition: none; | |||
} | |||
} | |||
/* کانتینر 4 تایی*/ | |||
.sajad-categories { | |||
width: 100%; | |||
} | |||
.sajad-grid { | |||
display: grid; | |||
grid-template-columns: repeat(2, minmax(0, 1fr)); | |||
gap: 16px; | |||
} | |||
.sajad-card { | |||
position: relative; | |||
display: block; | |||
overflow: hidden; | |||
border-radius: 20px; | |||
aspect-ratio: 1 / 0.72; | |||
text-decoration: none; | |||
background: #f3f3f3; | |||
} | |||
.sajad-card img { | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; | |||
display: block; | |||
transition: transform 0.35s ease; | |||
} | |||
.sajad-card:hover img { | |||
transform: scale(1.04); | |||
} | |||
.sajad-card::after { | |||
content: ""; | |||
position: absolute; | |||
inset: 0; | |||
background: linear-gradient( | |||
to top, | |||
rgba(0, 0, 0, 0.35) 0%, | |||
rgba(0, 0, 0, 0.05) 45%, | |||
rgba(0, 0, 0, 0) 70% | |||
); | |||
pointer-events: none; | |||
} | |||
.sajad-label { | |||
position: absolute; | |||
right: 16px; | |||
bottom: 14px; | |||
z-index: 2; | |||
color: #111; | |||
font-size: 18px; | |||
font-weight: 700; | |||
line-height: 1.4; | |||
text-shadow: 0 1px 2px rgba(255,255,255,0.55); | |||
} | |||
.sajad-label--white { | |||
color: #fff; | |||
text-shadow: 0 1px 3px rgba(0,0,0,0.55); | |||
} | |||
.sajad-card:focus-visible { | |||
outline: 3px solid #111; | |||
outline-offset: 3px; | |||
} | |||
.sr-only { | |||
position: absolute; | |||
width: 1px; | |||
height: 1px; | |||
padding: 0; | |||
margin: -1px; | |||
overflow: hidden; | |||
clip: rect(0, 0, 0, 0); | |||
white-space: nowrap; | |||
border: 0; | |||
} | |||
@media (max-width: 768px) { | |||
.sajad-grid { | |||
grid-template-columns: 1fr; | |||
} | |||
.sajad-card { | |||
aspect-ratio: 1 / 0.68; | |||
} | |||
} | |||
/* کانتینر متن و عکس -عکس های اورراید */ | |||
.sajad-hero { | |||
background: var(--hero-bg, #E5D5C0); | |||
padding: clamp(24px, 4vw, 56px); | |||
direction: rtl; | |||
overflow: hidden; | |||
} | |||
.sajad-hero__container { | |||
max-width: 1200px; | |||
margin: 0 auto; | |||
display: grid; | |||
grid-template-columns: 1.1fr 0.9fr; | |||
align-items: center; | |||
gap: clamp(24px, 4vw, 64px); | |||
min-height: min(620px, auto); | |||
} | |||
.sajad-hero__content { | |||
text-align: right; | |||
max-width: 560px; | |||
} | |||
.sajad-hero__badge { | |||
display: inline-block; | |||
background: var(--hero-badge-bg, #100E47); | |||
color: var(--hero-badge-text, #fff); | |||
font-size: clamp(0.85rem, 1vw, 1rem); | |||
font-weight: 700; | |||
padding: 10px 16px; | |||
border-radius: 10px; | |||
margin-bottom: 18px; | |||
line-height: 1.6; | |||
} | |||
.sajad-hero__title { | |||
margin: 0 0 14px; | |||
color: var(--hero-title, #100E47); | |||
font-size: clamp(1.8rem, 3vw, 3.4rem); | |||
font-weight: 800; | |||
line-height: 1.25; | |||
letter-spacing: -0.02em; | |||
} | |||
.sajad-hero__description { | |||
margin: 0 0 28px; | |||
color: var(--hero-text, #3E3A36); | |||
font-size: clamp(0.98rem, 1.1vw, 1.12rem); | |||
line-height: 2; | |||
max-width: 52ch; | |||
} | |||
.sajad-hero__button { | |||
display: inline-flex; | |||
align-items: center; | |||
justify-content: center; | |||
background: var(--hero-btn-bg, #100E47); | |||
color: var(--hero-btn-text, #fff); | |||
text-decoration: none; | |||
font-weight: 700; | |||
padding: 14px 26px; | |||
border-radius: 999px; | |||
transition: transform 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease; | |||
box-shadow: 0 10px 24px rgba(16, 14, 71, 0.18); | |||
} | |||
.sajad-hero__button:hover { | |||
transform: translateY(-2px); | |||
opacity: 0.95; | |||
} | |||
.sajad-hero__media { | |||
position: relative; | |||
min-height: 480px; | |||
display: flex; | display: flex; | ||
align-items: center; | |||
justify-content: center; | justify-content: center; | ||
} | } | ||
. | .sajad-hero__img { | ||
position: absolute; | |||
max-width: 100%; | border-radius: 18px; | ||
overflow: hidden; | |||
box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12); | |||
background: #fff; | |||
} | |||
.sajad-hero__img img { | |||
display: block; | |||
width: 100%; | |||
height: 100%; | |||
object-fit: cover; | |||
} | |||
.sajad-hero__img--back { | |||
width: min(260px, 42vw); | |||
height: 420px; | |||
left: 8%; | |||
top: 6%; | |||
z-index: 1; | |||
} | |||
.sajad-hero__img--front { | |||
width: min(290px, 48vw); | |||
height: 360px; | |||
left: 28%; | |||
top: 18%; | |||
z-index: 2; | |||
} | |||
@media (max-width: 992px) { | |||
.sajad-hero__container { | |||
grid-template-columns: 1fr; | |||
} | |||
.sajad-hero__content { | |||
max-width: 100%; | |||
} | |||
.sajad-hero__media { | |||
min-height: 420px; | |||
order: 2; | |||
} | |||
.sajad-hero__img--back { | |||
left: 12%; | |||
} | |||
.sajad-hero__img--front { | |||
left: 34%; | |||
} | |||
} | |||
@media (max-width: 768px) { | |||
.sajad-hero { | |||
padding: 20px 16px 28px; | |||
} | |||
.sajad-hero__title { | |||
font-size: clamp(1.55rem, 6vw, 2.2rem); | |||
} | |||
.sajad-hero__description { | |||
font-size: 0.98rem; | |||
line-height: 1.9; | |||
} | |||
.sajad-hero__media { | |||
min-height: 340px; | |||
margin-top: 8px; | |||
} | |||
.sajad-hero__img--back { | |||
width: 42vw; | |||
height: 260px; | |||
left: 2%; | |||
top: 10%; | |||
} | |||
.sajad-hero__img--front { | |||
width: 52vw; | |||
height: 220px; | |||
left: 34%; | |||
top: 18%; | |||
} | |||
} | |||
@media (max-width: 480px) { | |||
.sajad-hero__badge { | |||
width: 100%; | |||
text-align: center; | |||
box-sizing: border-box; | |||
} | |||
.sajad-hero__button { | |||
width: 100%; | |||
} | |||
.sajad-hero__media { | |||
min-height: 280px; | |||
} | |||
.sajad-hero__img--back { | |||
width: 46vw; | |||
height: 220px; | |||
} | |||
.sajad-hero__img--front { | |||
width: 58vw; | |||
height: 190px; | |||
} | |||
} | |||
/* جدول چاپ بنر*/ | |||
.banner-table-section { | |||
width: 100%; | |||
margin: 30px auto; | |||
direction: rtl; | |||
font-family: iransans , sans-serif; | |||
} | |||
.banner-table-wrap { | |||
width: 100%; | |||
} | |||
.banner-table-title { | |||
margin: 0 0 18px; | |||
text-align: right; | |||
font-size: clamp(20px, 2.2vw, 32px); | |||
font-weight: 700; | |||
color: #333; | |||
line-height: 1.8; | |||
} | |||
.banner-table-responsive { | |||
width: 100%; | |||
overflow-x: auto; | |||
-webkit-overflow-scrolling: touch; | |||
border-radius: 12px; | |||
} | |||
.banner-table { | |||
width: 100%; | |||
min-width: 760px; | |||
border-collapse: separate; | |||
border-spacing: 0; | |||
background: #fff; | |||
border: 1px solid #ececec; | |||
border-radius: 12px; | |||
overflow: hidden; | |||
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06); | |||
} | |||
.banner-table caption { | |||
caption-side: top; | |||
text-align: right; | |||
padding: 0 0 14px; | |||
font-size: 15px; | |||
color: #666; | |||
font-weight: 500; | |||
} | |||
.banner-table thead th { | |||
background: #ef2b2d; | |||
color: #fff; | |||
font-size: 16px; | |||
font-weight: 700; | |||
padding: 18px 16px; | |||
text-align: center; | |||
vertical-align: middle; | |||
white-space: nowrap; | |||
} | |||
.banner-table thead th:first-child { | |||
border-top-right-radius: 12px; | |||
} | |||
.banner-table thead th:last-child { | |||
border-top-left-radius: 12px; | |||
} | |||
.banner-table tbody td { | |||
padding: 18px 16px; | |||
font-size: 15px; | |||
color: #333; | |||
text-align: center; | text-align: center; | ||
vertical-align: middle; | |||
line-height: 2; | |||
border-top: 1px solid #f1f1f1; | |||
} | |||
.banner-table tbody tr:nth-child(even) td { | |||
background: #fafafa; | |||
} | |||
.banner-table tbody tr:hover td { | |||
background: #fff4f4; | |||
transition: 0.25s ease; | |||
} | |||
/* بهبود خوانایی ستون اول */ | |||
.banner-table tbody td:first-child { | |||
font-weight: 700; | |||
color: #222; | |||
white-space: nowrap; | |||
} | |||
/* اسکرول موبایل */ | |||
@media (max-width: 768px) { | |||
.banner-table-title { | |||
font-size: 20px; | |||
} | |||
.banner-table { | |||
min-width: 680px; | |||
} | |||
.banner-table thead th, | |||
.banner-table tbody td { | |||
padding: 14px 12px; | |||
font-size: 14px; | |||
} | |||
} | |||
/* الگو:کانتینر متن عکس دکمه */ | |||
/* Nemati Printing Styles - Updated */ | |||
.nemati-wrapper { | |||
background: #fff; | |||
border-radius: 40px; | |||
box-shadow: 0 4px 20px rgba(0,0,0,0.08); | |||
display: flex; | |||
flex-wrap: wrap; | |||
align-items: center; | |||
padding: 30px; | |||
gap: 25px; | |||
border: 1px solid #e0e0e0; | |||
margin: 20px 0; | |||
font-family: 'IRANSans', sans-serif; /* مطمئن شوید این فونت در محیط ویکی شما موجود است */ | |||
} | |||
.nemati-image { | |||
flex: 1 1 300px; /* تنظیم انعطافپذیری برای جایگزینی */ | |||
text-align: center; | |||
order: 2; /* تصویر در سمت راست قرار میگیرد */ | |||
} | |||
.nemati-image img { max-width: 100%; border-radius: 20px; } | |||
.nemati-text { | |||
flex: 2 1 400px; /* تنظیم انعطافپذیری */ | |||
text-align: justify; | |||
order: 1; /* متن در سمت چپ قرار میگیرد */ | |||
} | |||
/* تغییر اندازه فونت اینجا اعمال شده است */ | |||
.nemati-text h2 { color: #333; margin-top: 0; font-size: 1.3em; } /* 2 درجه کوچکتر از 1.5em */ | |||
.nemati-text p { color: #444; line-height: 1.8; margin-bottom: 20px; font-size: 0.9em; } /* 2 درجه کوچکتر از 1.1em */ | |||
.nemati-btns { | |||
display: flex; | |||
gap: 10px; | |||
flex-wrap: wrap; | |||
justify-content: flex-end; /* دکمهها به سمت راست منتقل شدند */ | |||
} | |||
.nemati-btn { | |||
padding: 10px 20px; | |||
border: 1px solid #ccc; | |||
border-radius: 12px; | |||
text-decoration: none !important; | |||
color: #333; | |||
font-weight: bold; | |||
display: flex; | |||
align-items: center; | |||
transition: 0.3s; | |||
font-size: 0.85em; /* کمی کوچکتر برای هماهنگی */ | |||
} | |||
.nemati-btn:hover { background: #f0f0f0; } | |||
@media (max-width: 768px) { | |||
.nemati-wrapper { flex-direction: column; text-align: center; } | |||
.nemati-text { text-align: center; } | |||
.nemati-btns { justify-content: center; } /* در موبایل دکمهها وسط چین شوند */ | |||
.nemati-image { order: 1; } /* در موبایل تصویر اول نمایش داده شود */ | |||
.nemati-text { order: 2; } /* در موبایل متن بعد از تصویر نمایش داده شود */ | |||
} | |||
/* سایه منحنی */ | |||
/* Container styling for Wiki pages */ | |||
.nikan-box { | |||
position: relative; | |||
background: #ffffff; | |||
border: 1px solid #dcdcdc; | |||
border-top: 4px solid #8b0000; /* خط قرمز تیره بالا */ | |||
padding: 25px; | |||
margin: 30px 0; | |||
box-sizing: border-box; | |||
/* این خاصیت برای دیده شدن سایه پشت کادر ضروری است */ | |||
z-index: 1; | |||
} | |||
/* افکت سایه برای القای حس قوس پایین کادر */ | |||
.nikan-box::before, | |||
.nikan-box::after { | |||
content: ""; | |||
position: absolute; | |||
bottom: -15px; | |||
width: 44%; | |||
height: 35px; | |||
background: transparent; | |||
box-shadow: 0 15px 20px rgba(0, 0, 0, 0.25); | |||
border-radius: 50%; | |||
z-index: -1; | |||
pointer-events: none; /* تا مزاحم کلیک روی محتوا نشود */ | |||
} | |||
/* قوس سمت چپ */ | |||
.nikan-box::before { | |||
left: 10px; | |||
transform: rotate(-3deg); | |||
} | |||
/* قوس سمت راست */ | |||
.nikan-box::after { | |||
right: 10px; | |||
transform: rotate(3deg); | |||
} | |||
/* برای اطمینان از اینکه در موبایل هم به هم نریزد */ | |||
@media (max-width: 600px) { | |||
.nikan-box::before, .nikan-box::after { | |||
display: none; /* در موبایل برای سادگی سایه را حذف میکنیم */ | |||
} | |||
} | } | ||
/* | |||
. | |||
. | |||
. | .security-door-card { | ||
width: 100% !important; | max-width: 1200px; | ||
height: auto !important; | margin: 2rem auto; | ||
border-radius: | background: #fff; | ||
border-radius: 14px; | |||
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12); | |||
overflow: hidden; | |||
} | |||
.security-door-card__image { | |||
display: block; | |||
width: 100%; | |||
height: auto; | |||
aspect-ratio: 1200 / 675; | |||
object-fit: cover; | |||
} | |||
.security-door-card__content { | |||
padding: clamp(16px, 2.5vw, 24px); | |||
} | |||
.security-door-card__title { | |||
margin: 0 0 12px; | |||
font-size: clamp(1.5rem, 3vw, 2rem); | |||
font-weight: 700; | |||
line-height: 1.4; | |||
color: #222; | |||
} | |||
.security-door-card__text { | |||
margin: 0 0 16px; | |||
font-size: clamp(1rem, 2vw, 1.0625rem); | |||
line-height: 1.9; | |||
color: #444; | |||
} | |||
.security-door-card__link { | |||
display: inline-block; | |||
padding: 10px 18px; | |||
border-radius: 10px; | |||
background: #111; | |||
color: #fff; | |||
text-decoration: none; | |||
font-weight: 600; | |||
} | |||
.security-door-card__link:hover, | |||
.security-door-card__link:focus { | |||
background: #333; | |||
} | |||
@media (max-width: 480px) { | |||
.security-door-card { | |||
margin: 1rem auto; | |||
border-radius: 12px; | |||
} | |||
} | |||
/*باکس های کافی نت*/ | |||
.services-section{ | |||
max-width:1400px; | |||
margin:auto; | |||
padding:40px 20px; | |||
} | |||
.services-section h2{ | |||
text-align:center; | |||
margin-bottom:35px; | |||
font-size:32px; | |||
font-weight:700; | |||
color:#222; | |||
} | |||
.service-grid{ | |||
display:grid; | |||
grid-template-columns:repeat(4,1fr); | |||
gap:22px; | |||
} | |||
.service-box{ | |||
background:#fff; | |||
border-radius:18px; | |||
min-height:180px; | |||
display:flex; | |||
flex-direction:column; | |||
justify-content:center; | |||
align-items:center; | |||
text-decoration:none; | |||
transition:.35s; | |||
box-shadow:0 5px 20px rgba(0,0,0,.08); | |||
border:1px solid #ececec; | |||
padding:20px; | |||
} | |||
.service-box:hover{ | |||
transform:translateY(-8px); | |||
box-shadow:0 15px 35px rgba(0,0,0,.15); | |||
} | |||
.service-box i{ | |||
font-size:60px; | |||
color:#00b894; | |||
margin-bottom:22px; | |||
} | |||
.service-box span{ | |||
font-size:20px; | |||
font-weight:600; | |||
color:#333; | |||
text-align:center; | |||
line-height:1.8; | |||
} | |||
/* Tablet */ | |||
@media(max-width:991px){ | |||
.service-grid{ | |||
grid-template-columns:repeat(2,1fr); | |||
} | |||
.service-box{ | |||
min-height:165px; | |||
} | |||
.service-box i{ | |||
font-size:50px; | |||
} | |||
} | |||
/* Mobile */ | |||
@media(max-width:576px){ | |||
.service-grid{ | |||
grid-template-columns:1fr; | |||
} | |||
.services-section{ | |||
padding:20px 15px; | |||
} | |||
.service-box{ | |||
min-height:150px; | |||
} | |||
.service-box i{ | |||
font-size:42px; | |||
} | |||
.service-box span{ | |||
font-size:18px; | |||
} | |||
} | |||
/*کانتینر متن و کارت*/ | |||
.stats-section { padding: 40px 20px; background: #ffffff; font-family: sans-serif; } | |||
.container { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 40px; flex-wrap: wrap; } | |||
.text-side { flex: 1; min-width: 300px; } | |||
.text-side h2 { color: #00b894; margin-bottom: 15px; } | |||
.stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; flex: 1; } | |||
.stat-card { | |||
display: flex; | |||
align-items: center; | |||
gap: 15px; | |||
background: #f8f9fa; | |||
padding: 15px 20px; /* ارتفاع کمتر */ | |||
border-radius: 10px; | |||
border: 1px solid #eee; | |||
} | |||
.icon { font-size: 24px; color: #00b894; } | |||
.stat-info { display: flex; flex-direction: column; } | |||
.number { font-size: 1.4rem; font-weight: bold; color: #333; line-height: 1; } | |||
.stat-info p { font-size: 0.85rem; color: #666; margin: 0; } | |||
/* ریسپانسیو */ | |||
@media (max-width: 768px) { | |||
.container { flex-direction: column; } | |||
.stats-grid { width: 100%; } | |||
} | |||
.services-list li i { | |||
color: #00b894; | |||
} | |||
/* منو */ | |||
/* اصلاح تداخل با مدیاویکی */ | |||
.poly-nav ul { | |||
list-style: none !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
display: flex !important; /* اجبار به افقی شدن */ | |||
flex-direction: row !important; /* جهت افقی */ | |||
justify-content: flex-start !important; | |||
background-color: #ffffff; | |||
} | |||
.poly-nav li { | |||
display: block !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
} | |||
/* ظاهر نوار بالای صفحه */ | |||
.poly-menu-container { | |||
width: 100%; | |||
position: sticky; /* برای اینکه در بالای صفحه بماند */ | |||
top: 0; | |||
z-index: 999; | |||
} | |||
.poly-nav { | |||
border-bottom: 3px solid #2e7d32; | |||
background: #fff; | |||
box-shadow: 0 2px 5px rgba(0,0,0,0.1); | |||
} | |||
.poly-nav a { | |||
display: block; | |||
padding: 15px 20px; | |||
text-decoration: none; | |||
color: #0277bd; | |||
font-weight: bold; | |||
white-space: nowrap; /* جلوگیری از شکستن کلمات در منو */ | |||
} | |||
/* ریست کردن استایلهای li که ممکن است از پوسته گرفته شود */ | |||
.poly-nav li::before { | |||
content: none !important; /* حذف بولتهای پیشفرض ویکی */ | |||
} | |||
/* تنظیمات پایه برای منوی اصلی */ | |||
.poly-nav ul { | |||
list-style: none !important; | |||
margin: 0 !important; | |||
padding: 0 !important; | |||
display: flex !important; | |||
flex-direction: row !important; | |||
background-color: #ffffff; | |||
} | |||
.poly-nav li { | |||
position: relative; /* بسیار مهم برای موقعیت قرارگیری منوی کشویی */ | |||
} | |||
.poly-nav a { | |||
display: block; | |||
padding: 15px 20px; | |||
text-decoration: none; | |||
color: #0277bd; | |||
font-weight: bold; | |||
transition: all 0.3s ease; | |||
} | |||
/* استایل منوی کشویی (Dropdown) */ | |||
.dropdown-content { | |||
display: none; /* در حالت عادی مخفی باشد */ | |||
position: absolute; | |||
background-color: #ffffff; | |||
min-width: 220px; | |||
box-shadow: 0px 8px 16px rgba(0,0,0,0.1); | |||
z-index: 1000; | |||
border-top: 3px solid #ff8f00; /* رنگ مکمل برای زیبایی */ | |||
border-radius: 0 0 8px 8px; | |||
} | |||
/* استایل لینکهای داخل منوی کشویی */ | |||
.dropdown-content a { | |||
color: #333 !important; | |||
padding: 12px 16px !important; | |||
font-size: 0.9rem !important; | |||
border-bottom: 1px solid #eee; | |||
} | |||
.dropdown-content a:last-child { | |||
border-bottom: none; | |||
} | |||
/* حالت Hover برای باز شدن منو */ | |||
.dropdown:hover .dropdown-content { | |||
display: block; | |||
} | |||
/* تغییر رنگ در هنگام هاور لینکهای داخلی */ | |||
.dropdown-content a:hover { | |||
background-color: #f1f8ff !important; | |||
color: #0277bd !important; | |||
} | |||
/* ریسپانسیو: در موبایل منوی کشویی به صورت ستونی زیر هم باز شود */ | |||
@media (max-width: 768px) { | |||
.poly-nav ul { | |||
flex-direction: column !important; | |||
} | |||
.dropdown-content { | |||
position: static; /* در موبایل، منو زیر هم باز شود نه روی صفحه */ | |||
width: 100%; | |||
box-shadow: none; | |||
background-color: #f9f9f9; | |||
} | |||
.dropdown:hover .dropdown-content { | |||
display: block; | |||
} | |||
} | |||
/* کانتینر 3ردیف در 2 ستون کادر شامل متن و عکس */ | |||
/*============================================================== | |||
DPX PROFESSIONAL CARD GRID | |||
Production Version 1.0 | |||
Optimized for MediaWiki | |||
==============================================================*/ | |||
/*============================================================== | |||
THEME | |||
==============================================================*/ | |||
:root{ | |||
--dpx-primary:#0f5fa8; | |||
--dpx-primary-hover:#0c4f8d; | |||
--dpx-secondary:#00b894; | |||
--dpx-secondary-hover:#009a7d; | |||
--dpx-accent:#38bdf8; | |||
--dpx-title:#183153; | |||
--dpx-text:#5f6f7c; | |||
--dpx-bg:#f7fafc; | |||
--dpx-card:#ffffff; | |||
--dpx-border:#d9e7ef; | |||
--dpx-radius:24px; | |||
--dpx-speed:.35s; | |||
--dpx-shadow: | |||
0 10px 30px rgba(0,0,0,.06), | |||
0 2px 10px rgba(15,95,168,.05); | |||
--dpx-shadow-hover: | |||
0 20px 50px rgba(15,95,168,.16), | |||
0 8px 24px rgba(0,0,0,.08); | |||
} | |||
/*============================================================== | |||
RESET | |||
==============================================================*/ | |||
.dpx-section, | |||
.dpx-section *, | |||
.dpx-section *::before, | |||
.dpx-section *::after{ | |||
box-sizing:border-box; | |||
} | |||
.dpx-section img{ | |||
display:block; | |||
max-width:100%; | |||
border:0; | |||
} | |||
.dpx-section a{ | |||
text-decoration:none; | |||
} | |||
.dpx-section{ | |||
direction:rtl; | |||
width:100%; | |||
max-width:1320px; | |||
margin:60px auto; | |||
padding:0 18px; | |||
} | |||
/*============================================================== | |||
GRID | |||
==============================================================*/ | |||
.dpx-grid{ | |||
display:grid; | |||
grid-template-columns:repeat(2,minmax(0,1fr)); | |||
gap:34px; | |||
align-items:stretch; | |||
} | |||
/*============================================================== | |||
CARD | |||
==============================================================*/ | |||
.dpx-card{ | |||
position:relative; | |||
display:flex; | |||
justify-content:space-between; | |||
align-items:stretch; | |||
overflow:hidden; | |||
background:linear-gradient( | |||
180deg, | |||
#ffffff, | |||
#fbfdff | |||
); | |||
border:1px solid var(--dpx-border); | |||
border-radius:var(--dpx-radius); | |||
box-shadow:var(--dpx-shadow); | |||
transition: | |||
transform var(--dpx-speed), | |||
box-shadow var(--dpx-speed), | |||
border-color var(--dpx-speed); | |||
} | |||
/*============================================================== | |||
LEFT GLOW | |||
==============================================================*/ | |||
.dpx-card::before{ | |||
content:""; | |||
position:absolute; | |||
inset:auto auto -120px -120px; | |||
width:240px; | |||
height:240px; | |||
border-radius:50%; | |||
background: | |||
radial-gradient( | |||
rgba(56,189,248,.14), | |||
transparent 70% | |||
); | |||
pointer-events:none; | |||
} | |||
/*============================================================== | |||
RIGHT ACCENT | |||
==============================================================*/ | |||
.dpx-card::after{ | |||
content:""; | |||
position:absolute; | |||
top:0; | |||
right:0; | |||
width:8px; | |||
height:100%; | |||
background: | |||
linear-gradient( | |||
180deg, | |||
var(--dpx-primary), | |||
var(--dpx-secondary) | |||
); | |||
transition:width .35s ease; | |||
} | |||
/*============================================================== | |||
HOVER | |||
==============================================================*/ | |||
.dpx-card:hover{ | |||
transform:translateY(-8px); | |||
border-color:#b8ddee; | |||
box-shadow:var(--dpx-shadow-hover); | |||
} | |||
.dpx-card:hover::after{ | |||
width:12px; | |||
} | |||
/*============================================================== | |||
IMAGE MODULE | |||
==============================================================*/ | |||
.dpx-image{ | |||
position:relative; | |||
flex:0 0 42%; | |||
max-width:42%; | |||
overflow:hidden; | |||
background:#edf6fb; | |||
isolation:isolate; | |||
} | |||
.dpx-image a{ | |||
display:block; | |||
width:100%; | |||
height:100%; | |||
} | |||
.dpx-image img{ | |||
width:100%; | |||
height:100%; | |||
min-height:290px; | |||
object-fit:cover; | |||
object-position:center; | |||
transform:scale(1); | |||
transition: | |||
transform .65s ease, | |||
filter .45s ease; | |||
} | |||
/*============================================================== | |||
IMAGE OVERLAY | |||
==============================================================*/ | |||
.dpx-image::before{ | |||
content:""; | |||
position:absolute; | |||
inset:0; | |||
background: | |||
linear-gradient( | |||
90deg, | |||
rgba(15,95,168,.06), | |||
rgba(0,184,148,.14) | |||
); | |||
z-index:1; | |||
transition:opacity .35s ease; | |||
} | |||
/*============================================================== | |||
SHINE EFFECT | |||
==============================================================*/ | |||
.dpx-image::after{ | |||
content:""; | |||
position:absolute; | |||
top:-35%; | |||
left:-150%; | |||
width:55%; | |||
height:180%; | |||
background: | |||
linear-gradient( | |||
90deg, | |||
transparent, | |||
rgba(255,255,255,.40), | |||
transparent | |||
); | |||
transform:rotate(18deg); | |||
transition:left .9s ease; | |||
z-index:2; | |||
} | |||
/*============================================================== | |||
IMAGE HOVER | |||
==============================================================*/ | |||
.dpx-card:hover .dpx-image img{ | |||
transform:scale(1.08); | |||
filter: | |||
saturate(110%) | |||
contrast(104%) | |||
brightness(102%); | |||
} | |||
.dpx-card:hover .dpx-image::after{ | |||
left:170%; | |||
} | |||
/*============================================================== | |||
IMAGE RADIUS | |||
==============================================================*/ | |||
.dpx-image{ | |||
border-radius:0 24px 24px 0; | |||
} | |||
/*============================================================== | |||
IMAGE LOADING | |||
==============================================================*/ | |||
.dpx-image img{ | |||
background:#eef5fa; | |||
} | |||
/*============================================================== | |||
IMAGE PERFORMANCE | |||
==============================================================*/ | |||
.dpx-image, | |||
.dpx-image img{ | |||
backface-visibility:hidden; | |||
transform:translateZ(0); | |||
will-change:transform; | |||
} | |||
/*============================================================== | |||
OPTIONAL IMAGE BADGE | |||
==============================================================*/ | |||
.dpx-badge{ | |||
position:absolute; | |||
top:18px; | |||
right:18px; | |||
z-index:3; | |||
display:inline-flex; | |||
align-items:center; | |||
justify-content:center; | |||
padding:7px 14px; | |||
border-radius:30px; | |||
background:rgba(255,255,255,.94); | |||
color:var(--dpx-primary); | |||
font-size:.78rem; | |||
font-weight:700; | |||
box-shadow: | |||
0 6px 18px rgba(0,0,0,.08); | |||
} | |||
/*============================================================== | |||
OPTIONAL IMAGE GRADIENT | |||
==============================================================*/ | |||
.dpx-gradient{ | |||
position:absolute; | |||
inset:auto 0 0 0; | |||
height:90px; | |||
background: | |||
linear-gradient( | |||
transparent, | |||
rgba(0,0,0,.18) | |||
); | |||
z-index:2; | |||
pointer-events:none; | |||
} | |||
/*============================================================== | |||
CONTENT MODULE | |||
==============================================================*/ | |||
.dpx-content{ | |||
flex:1; | |||
display:flex; | |||
flex-direction:column; | |||
justify-content:center; | |||
align-items:flex-start; | |||
padding:34px 32px; | |||
position:relative; | |||
z-index:3; | |||
} | |||
/*============================================================== | |||
CATEGORY | |||
==============================================================*/ | |||
.dpx-category{ | |||
display:inline-flex; | |||
align-items:center; | |||
justify-content:center; | |||
margin-bottom:16px; | |||
padding:7px 16px; | |||
border-radius:40px; | |||
background:rgba(0,184,148,.10); | |||
color:var(--dpx-secondary); | |||
font-size:.80rem; | |||
font-weight:700; | |||
line-height:1; | |||
} | |||
/*============================================================== | |||
TITLE | |||
==============================================================*/ | |||
.dpx-title{ | |||
margin:0 0 14px; | |||
color:var(--dpx-title); | |||
font-size:1.45rem; | |||
font-weight:800; | |||
line-height:1.6; | |||
letter-spacing:-.2px; | |||
} | |||
.dpx-title a{ | |||
color:inherit; | |||
text-decoration:none; | |||
transition:color .30s ease; | |||
} | |||
.dpx-card:hover .dpx-title{ | |||
color:var(--dpx-primary); | |||
} | |||
/*============================================================== | |||
TITLE BAR | |||
==============================================================*/ | |||
.dpx-title::after{ | |||
content:""; | |||
display:block; | |||
width:54px; | |||
height:4px; | |||
margin-top:12px; | |||
border-radius:20px; | |||
background: | |||
linear-gradient( | |||
90deg, | |||
var(--dpx-primary), | |||
var(--dpx-secondary) | |||
); | |||
transition:width .35s ease; | |||
} | |||
.dpx-card:hover .dpx-title::after{ | |||
width:88px; | |||
} | |||
/*============================================================== | |||
DESCRIPTION | |||
==============================================================*/ | |||
.dpx-desc{ | |||
margin:0; | |||
color:var(--dpx-text); | |||
font-size:1rem; | |||
line-height:2; | |||
text-align:justify; | |||
display:-webkit-box; | |||
-webkit-box-orient:vertical; | |||
-webkit-line-clamp:2; | |||
overflow:hidden; | |||
} | |||
/*============================================================== | |||
SPACER | |||
==============================================================*/ | |||
.dpx-spacer{ | |||
flex:1; | |||
} | |||
/*============================================================== | |||
FOOTER | |||
==============================================================*/ | |||
.dpx-footer{ | |||
width:100%; | |||
margin-top:24px; | |||
display:flex; | |||
justify-content:space-between; | |||
align-items:center; | |||
} | |||
/*============================================================== | |||
META | |||
==============================================================*/ | |||
.dpx-meta{ | |||
color:#8a98a6; | |||
font-size:.85rem; | |||
font-weight:600; | |||
} | |||
/*============================================================== | |||
BUTTON | |||
==============================================================*/ | |||
.dpx-more{ | |||
display:inline-flex; | |||
align-items:center; | |||
gap:10px; | |||
padding:12px 22px; | |||
border-radius:60px; | |||
background: | |||
linear-gradient( | |||
135deg, | |||
var(--dpx-primary), | |||
var(--dpx-secondary) | |||
); | |||
color:#ffffff; | |||
font-size:.92rem; | |||
font-weight:700; | |||
text-decoration:none; | |||
transition: | |||
transform .30s ease, | |||
box-shadow .30s ease; | |||
box-shadow: | |||
0 8px 20px rgba(15,95,168,.18); | |||
} | |||
.dpx-more:hover{ | |||
transform:translateX(-5px); | |||
box-shadow: | |||
0 14px 28px rgba(15,95,168,.26); | |||
} | |||
/*============================================================== | |||
BUTTON ICON | |||
==============================================================*/ | |||
.dpx-more svg{ | |||
width:18px; | |||
height:18px; | |||
flex-shrink:0; | |||
transition:transform .30s ease; | |||
} | |||
.dpx-more:hover svg{ | |||
transform:translateX(-5px); | |||
} | |||
/*============================================================== | |||
FOCUS | |||
==============================================================*/ | |||
.dpx-more:focus-visible{ | |||
outline:3px solid rgba(56,189,248,.35); | |||
outline-offset:3px; | |||
} | |||
/*============================================================== | |||
PREMIUM EFFECTS | |||
==============================================================*/ | |||
/* Glass Light */ | |||
.dpx-card::before{ | |||
content:""; | |||
position:absolute; | |||
left:-140px; | |||
bottom:-140px; | |||
width:260px; | |||
height:260px; | |||
border-radius:50%; | |||
background: | |||
radial-gradient( | |||
circle, | |||
rgba(56,189,248,.16) 0%, | |||
rgba(56,189,248,.05) 45%, | |||
transparent 72% | |||
); | |||
pointer-events:none; | |||
transition: | |||
transform .55s ease, | |||
opacity .35s ease; | |||
opacity:.9; | |||
} | |||
.dpx-card:hover::before{ | |||
transform:scale(1.18); | |||
} | |||
/*============================================================== | |||
Premium Border | |||
==============================================================*/ | |||
.dpx-card{ | |||
position:relative; | |||
} | |||
.dpx-card:hover{ | |||
border-color:rgba(0,184,148,.35); | |||
} | |||
/*============================================================== | |||
Image Animation | |||
==============================================================*/ | |||
.dpx-card:hover .dpx-image img{ | |||
transform:scale(1.07); | |||
} | |||
/*============================================================== | |||
Content Animation | |||
==============================================================*/ | |||
.dpx-title, | |||
.dpx-desc, | |||
.dpx-category{ | |||
transition: | |||
transform .35s ease, | |||
color .35s ease; | |||
} | |||
.dpx-card:hover .dpx-category{ | |||
transform:translateY(-2px); | |||
} | |||
.dpx-card:hover .dpx-title{ | |||
transform:translateY(-3px); | |||
} | |||
.dpx-card:hover .dpx-desc{ | |||
transform:translateY(-2px); | |||
} | |||
/*============================================================== | |||
Button Shine | |||
==============================================================*/ | |||
.dpx-more{ | |||
position:relative; | |||
overflow:hidden; | |||
} | |||
.dpx-more::before{ | |||
content:""; | |||
position:absolute; | |||
top:0; | |||
left:-150%; | |||
width:60%; | |||
height:100%; | |||
background: | |||
linear-gradient( | |||
90deg, | |||
transparent, | |||
rgba(255,255,255,.45), | |||
transparent | |||
); | |||
transform:skewX(-20deg); | |||
transition:left .7s ease; | |||
} | |||
.dpx-more:hover::before{ | |||
left:170%; | |||
} | |||
/*============================================================== | |||
Soft Card Lift | |||
==============================================================*/ | |||
.dpx-card{ | |||
transform-origin:center; | |||
} | |||
.dpx-card:hover{ | |||
transform: | |||
translateY(-8px) | |||
scale(1.015); | |||
} | |||
/*============================================================== | |||
Shadow Layers | |||
==============================================================*/ | |||
.dpx-card{ | |||
box-shadow: | |||
0 10px 20px rgba(15,95,168,.05), | |||
0 18px 40px rgba(0,0,0,.05); | |||
} | |||
.dpx-card:hover{ | |||
box-shadow: | |||
0 16px 34px rgba(15,95,168,.10), | |||
0 30px 70px rgba(0,0,0,.10); | |||
} | |||
/*============================================================== | |||
Fade Animation | |||
==============================================================*/ | |||
@keyframes dpxFade{ | |||
from{ | |||
opacity:0; | |||
transform: | |||
translateY(24px); | |||
} | |||
to{ | |||
opacity:1; | |||
transform: | |||
translateY(0); | |||
} | |||
} | |||
.dpx-card{ | |||
animation: | |||
dpxFade .65s ease both; | |||
} | |||
/*============================================================== | |||
Accessibility | |||
==============================================================*/ | |||
.dpx-card:focus-within{ | |||
box-shadow: | |||
0 0 0 4px rgba(56,189,248,.18), | |||
0 18px 45px rgba(15,95,168,.14); | |||
} | |||
/*============================================================== | |||
Better Typography | |||
==============================================================*/ | |||
.dpx-title, | |||
.dpx-desc{ | |||
text-rendering:optimizeLegibility; | |||
-webkit-font-smoothing:antialiased; | |||
} | |||
/*============================================================== | |||
Better Selection | |||
==============================================================*/ | |||
.dpx-card *::selection{ | |||
background:#d9f7ef; | |||
color:#183153; | |||
} | |||
/*============================================================== | |||
DPX PRODUCTION FINAL | |||
Responsive + Performance + Accessibility | |||
==============================================================*/ | |||
/*============================== | |||
Desktop | |||
==============================*/ | |||
@media (max-width:1200px){ | |||
.dpx-grid{ | |||
gap:28px; | |||
} | |||
.dpx-content{ | |||
padding:28px; | |||
} | |||
.dpx-title{ | |||
font-size:1.32rem; | |||
} | |||
} | |||
/*============================== | |||
Tablet | |||
==============================*/ | |||
@media (max-width:992px){ | |||
.dpx-grid{ | |||
grid-template-columns:1fr; | |||
} | |||
} | |||
/*============================== | |||
Mobile | |||
==============================*/ | |||
@media (max-width:768px){ | |||
.dpx-section{ | |||
padding:0 14px; | |||
margin:36px auto; | |||
} | |||
.dpx-card{ | |||
flex-direction:column; | |||
} | |||
.dpx-image{ | |||
flex:none; | |||
max-width:100%; | |||
width:100%; | |||
min-height:240px; | |||
border-radius:24px 24px 0 0; | |||
} | |||
.dpx-image img{ | |||
min-height:240px; | |||
} | |||
.dpx-content{ | |||
width:100%; | |||
padding:24px 20px; | |||
} | |||
.dpx-title{ | |||
font-size:1.20rem; | |||
} | |||
.dpx-desc{ | |||
-webkit-line-clamp:3; | |||
} | |||
.dpx-footer{ | |||
flex-wrap:wrap; | |||
gap:14px; | |||
} | |||
} | |||
/*============================== | |||
Small Mobile | |||
==============================*/ | |||
@media (max-width:480px){ | |||
.dpx-grid{ | |||
gap:18px; | |||
} | |||
.dpx-image{ | |||
min-height:200px; | |||
} | |||
.dpx-image img{ | |||
min-height:200px; | |||
} | |||
.dpx-content{ | |||
padding:18px; | |||
} | |||
.dpx-title{ | |||
font-size:1.05rem; | |||
} | |||
.dpx-desc{ | |||
font-size:.92rem; | |||
line-height:1.9; | |||
} | |||
.dpx-more{ | |||
width:100%; | |||
justify-content:center; | |||
} | |||
} | |||
/*============================== | |||
Images | |||
==============================*/ | |||
.dpx-image img{ | |||
display:block; | |||
width:100%; | |||
height:100%; | |||
object-fit:cover; | |||
} | |||
/*============================== | |||
Links | |||
==============================*/ | |||
.dpx-card a{ | |||
-webkit-tap-highlight-color:transparent; | |||
} | |||
/*============================== | |||
Keyboard | |||
==============================*/ | |||
.dpx-card a:focus-visible{ | |||
outline:3px solid rgba(56,189,248,.35); | |||
outline-offset:3px; | |||
border-radius:8px; | |||
} | |||
/*============================== | |||
Reduced Motion | |||
==============================*/ | |||
@media (prefers-reduced-motion:reduce){ | |||
.dpx-card, | |||
.dpx-card *, | |||
.dpx-image img, | |||
.dpx-more{ | |||
animation:none !important; | |||
transition:none !important; | |||
} | |||
} | |||
/*============================== | |||
Print | |||
==============================*/ | |||
@media print{ | |||
.dpx-card{ | |||
break-inside:avoid; | |||
box-shadow:none; | |||
border:1px solid #cfcfcf; | |||
} | |||
} | |||
/*============================== | |||
Performance | |||
==============================*/ | |||
.dpx-card{ | |||
contain:layout paint; | |||
} | |||
.dpx-image img{ | |||
image-rendering:auto; | |||
} | |||
/*============================== | |||
FINAL FIXES | |||
==============================*/ | |||
/* حذف فاصله ناخواسته تصاویر */ | |||
.dpx-image picture{ | |||
display:block; | |||
width:100%; | |||
height:100%; | |||
} | |||
/* رفع کشیدگی متن */ | |||
.dpx-title, | |||
.dpx-desc{ | |||
overflow-wrap:anywhere; | |||
} | |||
/* جلوگیری از اسکرول افقی */ | |||
.dpx-section{ | |||
overflow:hidden; | |||
} | |||
/* رنگ پس زمینه اختصاصی یک صفحه */ | |||
/* ۱. شفاف کردن پسزمینه اصلی مدیاویکی برای نمایش گرادینت */ | |||
#content, #mw-page-base, #mw-head, .mw-body { | |||
background: transparent !important; | |||
} | |||
/* ۲. تعریف کلاس گرادینت اختصاصی شما */ | |||
.my-custom-gradient { | |||
/* ایجاد گرادینت از بالا به پایین با ترتیب رنگهای درخواستی شما */ | |||
background: linear-gradient(180deg, | |||
#2A7B9B 0%, /* رنگ بالا */ | |||
#57C785 50%, /* رنگ میانی */ | |||
#EDDD53 100% /* رنگ پایین */ | |||
) !important; | |||
/* ثابت نگه داشتن پسزمینه هنگام اسکرول برای جلوگیری از بهم ریختگی */ | |||
background-attachment: fixed !important; | |||
/* ایجاد حس نرمی و محو بودن (Blur effect) با استفاده از ترکیب رنگها */ | |||
/* توجه: خود گرادینت در لبهها محو میشود، اما اگر میخواهید محتوا هم نرم باشد: */ | |||
border-radius: 15px; | |||
padding: 20px; | |||
} | |||
#content, #mw-page-base, #mw-head, .mw-body { | |||
background: transparent !important; | |||
} | } | ||