/*
Theme Name: LanMaster Services
Theme URI: https://lanmaster.ir
Author: LanMaster
Description: Lightweight RTL service theme for network, server and IT support businesses.
Version: 0.1.0
Text Domain: lanmaster-services
*/

@font-face {
	font-family: "IRANSans";
	src: url("assets/fonts/irsans.ttf") format("truetype");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--lm-primary: #0b3b60;
	--lm-accent: #0ea5a8;
	--lm-text: #17212b;
	--lm-muted: #5c6b78;
	--lm-bg: #f7fafc;
	--lm-border: #dce5eb;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
body {
	margin: 0;
	color: var(--lm-text);
	background: #fff;
	font-family: "IRANSans", "IRANSansX", IranYekan, Tahoma, Arial, sans-serif;
	line-height: 1.9;
}
a { color: var(--lm-primary); }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.lm-container { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.lm-header { border-bottom: 1px solid var(--lm-border); background: #fff; }
.lm-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.lm-brand { color: var(--lm-primary); font-weight: 700; text-decoration: none; font-size: 1.2rem; }
.lm-nav > ul { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 0; padding: 0; list-style: none; }
.lm-nav .lm-menu-fallback { display: flex; flex-wrap: wrap; gap: 18px; margin: 0; padding: 0; list-style: none; }
.lm-nav li { position: relative; }
.lm-nav a { text-decoration: none; }
.lm-nav > ul > li { display: flex; align-items: center; gap: 2px; }
.lm-nav .sub-menu { position: absolute; z-index: 50; top:calc(100% + 15px); right:0; display:none; min-width:220px; margin:0; padding:8px; border:1px solid #dce8ed; border-radius:12px; background:#fff; box-shadow:0 14px 30px rgba(11,59,96,.14); list-style:none; }
.lm-nav li.is-open > .sub-menu { display:grid; }
.lm-nav .sub-menu li { width:100%; }
.lm-nav .sub-menu a { display:block; padding:8px 10px; border-radius:7px; color:#36515f; font-size:.9rem; white-space:nowrap; }
.lm-nav .sub-menu a:hover,.lm-nav .sub-menu .current-menu-item > a { background:#eef9f9; color:var(--lm-primary); }
.lm-submenu-toggle { display:grid; place-items:center; width:25px; height:25px; padding:0; border:0; border-radius:6px; background:transparent; color:var(--lm-primary); cursor:pointer; font:inherit; line-height:1; }
.lm-submenu-toggle:hover,.lm-submenu-toggle:focus-visible { background:#eaf6f7; outline:0; }
.lm-submenu-toggle span { display:block; font-size:1.2rem; transition:transform .2s ease; }
.lm-nav li.is-open > .lm-submenu-toggle span { transform:rotate(180deg); }
.lm-header-cta { display: inline-block; padding: 7px 13px; border-radius: 7px; background: var(--lm-accent); color: #fff; text-decoration: none; white-space: nowrap; }
.lm-nav .current-menu-item > a { color: var(--lm-accent); }
.lm-main { min-height: 60vh; }
.lm-hero { padding: 72px 0; background: linear-gradient(135deg, #eef8fb, #fff); }
.lm-hero h1 { max-width: 760px; margin: 0 0 16px; color: var(--lm-primary); font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.35; }
.lm-hero p { max-width: 720px; color: var(--lm-muted); font-size: 1.1rem; }
.lm-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.lm-button { display: inline-block; padding: 10px 18px; border-radius: 8px; background: var(--lm-primary); color: #fff; text-decoration: none; }
.lm-button-alt { background: var(--lm-accent); }
.lm-section { padding: 56px 0; }
.lm-section-muted { background: var(--lm-bg); }
.lm-section-heading { max-width: 760px; margin: 0 0 26px; }
.lm-section-heading h2 { margin: 0 0 8px; color: var(--lm-primary); font-size: clamp(1.6rem, 3vw, 2.25rem); }
.lm-section-heading p { margin: 0; color: var(--lm-muted); }
.lm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.lm-card { padding: 22px; border: 1px solid var(--lm-border); border-radius: 12px; background: #fff; }
.lm-card h2, .lm-card h3 { margin-top: 0; color: var(--lm-primary); }
.lm-card p { color: var(--lm-muted); }
.lm-card a { font-weight: 700; }
.lm-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; counter-reset: steps; padding: 0; list-style: none; }
.lm-steps li { position: relative; padding: 62px 20px 20px; border: 1px solid var(--lm-border); border-radius: 12px; background: #fff; }
.lm-steps li::before { counter-increment: steps; content: counter(steps); position: absolute; top: 18px; right: 20px; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--lm-primary); color: #fff; font-weight: 700; }
.lm-checklist { margin: 0; padding: 0; list-style: none; }
.lm-checklist li { position: relative; padding-right: 28px; margin: 9px 0; }
.lm-checklist li::before { content: "✓"; position: absolute; right: 0; color: var(--lm-accent); font-weight: 700; }
.lm-cta { padding: 48px; border-radius: 16px; background: var(--lm-primary); color: #fff; }
.lm-cta h2 { margin-top: 0; color: #fff; }
.lm-cta p { max-width: 760px; color: #e2f1f6; }
.lm-cta .lm-button { background: #fff; color: var(--lm-primary); }
.lm-contract-hero { padding:78px 0; }
.lm-contract-hero p { max-width:750px; }
.lm-contract-overview { padding-bottom:28px; }
.lm-contract-table-wrap { overflow-x:auto; border:1px solid var(--lm-border); border-radius:12px; background:#fff; }
.lm-contract-table { min-width:620px; margin:0; border-collapse:collapse; }
.lm-contract-table th,.lm-contract-table td { padding:15px 16px; border:0; border-bottom:1px solid var(--lm-border); text-align:right; vertical-align:top; }
.lm-contract-table th { background:#edf8f9; color:var(--lm-primary); }
.lm-contract-table tr:last-child td { border-bottom:0; }
.lm-contract-faq { display:grid; gap:11px; }
.lm-contract-faq details { padding:16px 18px; border:1px solid var(--lm-border); border-radius:11px; background:#fff; }
.lm-contract-faq summary { cursor:pointer; color:var(--lm-primary); font-weight:700; }
.lm-contract-faq p { margin:13px 0 0; color:var(--lm-muted); line-height:2; }
.lm-faq { display:grid; gap:11px; max-width:900px; }
.lm-faq details { padding:16px 18px; border:1px solid var(--lm-border); border-radius:11px; background:#fff; }
.lm-faq summary { cursor:pointer; color:var(--lm-primary); font-weight:700; }
.lm-faq p { margin:13px 0 0; color:var(--lm-muted); line-height:2; }
.lm-page-header { padding: 44px 0; background: var(--lm-bg); border-bottom: 1px solid var(--lm-border); }
.lm-page-header h1 { margin: 0; color: var(--lm-primary); }
.lm-service-hero { position:relative; overflow:hidden; padding:72px 0; background:linear-gradient(125deg,#e6f5f8 0%,#f8fcfd 56%,#fff 100%); border-bottom:1px solid var(--lm-border); }
.lm-service-hero::after { content:""; position:absolute; left:-120px; bottom:-195px; width:350px; height:350px; border-radius:50%; background:rgba(14,165,168,.12); }
.lm-service-hero .lm-container { position:relative; z-index:1; }
.lm-service-hero h1 { max-width:880px; margin:10px 0 15px; color:var(--lm-primary); font-size:clamp(2rem,4.6vw,3.4rem); line-height:1.4; }
.lm-service-hero p { max-width:760px; margin:0; color:var(--lm-muted); font-size:1.07rem; }
.lm-contact-header { padding:60px 0 54px; background:linear-gradient(125deg,#e7f6f7 0%,#f6fbfc 55%,#fff 100%); }
.lm-contact-header h1 { margin:10px 0; font-size:clamp(2rem,4.4vw,3.25rem); }
.lm-contact-header p { max-width:680px; margin:0; color:var(--lm-muted); font-size:1.05rem; }
.lm-contact-section { background:#f8fbfc; }
.lm-contact-layout { display:grid; grid-template-columns:minmax(0,770px) 280px; gap:32px; align-items:start; }
.lm-direct-contact { padding:clamp(22px,4vw,34px); border:1px solid #cde5e7; border-radius:20px; background:linear-gradient(135deg,#fff 0%,#f0fbfb 100%); box-shadow:0 12px 30px rgba(11,59,96,.07); }
.lm-direct-contact-intro { display:flex; align-items:center; gap:14px; margin-bottom:21px; }
.lm-direct-contact-intro > div { display:grid; gap:1px; }
.lm-direct-contact-intro span:not(.lm-direct-contact-icon) { color:var(--lm-accent); font-size:.83rem; font-weight:700; }
.lm-direct-contact-intro h2,.lm-contact-form-intro h2 { margin:0; color:var(--lm-primary); font-size:1.35rem; }
.lm-direct-contact-icon { display:grid; place-items:center; flex:0 0 auto; width:43px; height:43px; border-radius:13px; background:var(--lm-primary); color:#fff; font-size:1.35rem; }
.lm-mobile-call,.lm-office-call { color:inherit; text-decoration:none; }
.lm-mobile-call { display:grid; gap:4px; padding:21px 22px; border-radius:14px; background:var(--lm-primary); color:#fff; box-shadow:0 10px 20px rgba(11,59,96,.2); transition:transform .2s ease,box-shadow .2s ease; }
.lm-mobile-call:hover { color:#fff; transform:translateY(-2px); box-shadow:0 14px 25px rgba(11,59,96,.28); }
.lm-call-label { color:#bdeff0; font-size:.84rem; font-weight:700; }
.lm-mobile-call strong { font-size:clamp(1.55rem,4vw,2rem); letter-spacing:.04em; line-height:1.35; }
.lm-call-action { display:flex; align-items:center; justify-content:space-between; margin-top:5px; font-size:.88rem; font-weight:700; }
.lm-call-action b { font-size:1.15rem; }
.lm-office-call { display:grid; grid-template-columns:1fr auto; gap:2px 16px; margin-top:14px; padding:14px 6px 0; border-top:1px solid #d8eaec; color:#3a5865; font-size:.9rem; }
.lm-office-call:hover strong { color:var(--lm-accent); }
.lm-office-call strong { color:var(--lm-primary); font-size:1.05rem; transition:color .2s ease; }
.lm-office-call small { grid-column:1 / -1; color:var(--lm-muted); font-size:.78rem; }
.lm-contact-form-intro { margin:38px 0 17px; }
.lm-contact-form-intro p { margin:4px 0 0; color:var(--lm-muted); }
.lm-contact-main .lm-form { max-width:none; padding:28px; border-radius:16px; background:#fff; box-shadow:0 9px 24px rgba(11,59,96,.04); }
.lm-contact-aside { position:sticky; top:24px; display:grid; gap:10px; padding:23px; border-radius:18px; background:#102f47; color:#e8f5f8; }
.lm-contact-aside > span { color:#85dde0; font-size:.8rem; font-weight:700; }
.lm-contact-aside strong { color:#fff; font-size:1.1rem; line-height:1.8; }
.lm-contact-aside p { margin:0; color:#c7e2e8; font-size:.88rem; line-height:2; }
.lm-contact-aside a { margin-top:5px; padding:10px; border-radius:9px; background:#fff; color:var(--lm-primary); font-size:.85rem; font-weight:700; text-align:center; text-decoration:none; }
.lm-archive-hero,.lm-entry-header { position:relative; overflow:hidden; padding:64px 0 54px; background:linear-gradient(120deg,#e7f5f8 0%,#f8fcfd 52%,#fff 100%); border-bottom:1px solid var(--lm-border); }
.lm-archive-hero::before,.lm-entry-header::before { content:""; position:absolute; width:340px; height:340px; left:-115px; top:-190px; border-radius:50%; background:rgba(14,165,168,.12); }
.lm-archive-hero .lm-container,.lm-entry-header .lm-container { position:relative; }
.lm-archive-hero h1,.lm-entry-header h1 { max-width:900px; margin:10px 0 14px; color:var(--lm-primary); font-size:clamp(2rem,4.5vw,3.35rem); letter-spacing:-.03em; line-height:1.4; }
.lm-archive-hero p,.lm-archive-description,.lm-page-lead { max-width:760px; margin:0; color:var(--lm-muted); font-size:1.04rem; }
.lm-eyebrow { display:inline-flex; align-items:center; gap:7px; color:var(--lm-accent); font-size:.86rem; font-weight:700; letter-spacing:.01em; }
.lm-eyebrow::before { content:""; width:23px; height:2px; background:currentColor; }
.lm-archive-summary,.lm-entry-meta { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin-top:24px; color:var(--lm-muted); font-size:.9rem; }
.lm-archive-summary span { padding:5px 11px; border:1px solid rgba(11,59,96,.12); border-radius:999px; background:rgba(255,255,255,.7); }
.lm-archive-content { background:linear-gradient(180deg,#fff 0%,#f8fbfc 100%); }
.lm-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.lm-post-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #e3ebef; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(11,59,96,.07); transition:transform .2s ease,box-shadow .2s ease; }
.lm-post-card:hover { transform:translateY(-5px); box-shadow:0 18px 35px rgba(11,59,96,.13); }
.lm-post-card-image { display:grid; place-items:center; aspect-ratio:16/9; overflow:hidden; background:linear-gradient(135deg,var(--lm-primary),#176f86); color:#fff; font-size:1.1rem; font-weight:700; text-decoration:none; }
.lm-post-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.lm-post-card:hover .lm-post-card-image img { transform:scale(1.055); }
.lm-post-card-body { display:flex; flex:1; flex-direction:column; padding:21px 21px 18px; }
.lm-card-topline,.lm-card-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.lm-card-category { overflow:hidden; max-width:58%; color:var(--lm-accent); font-size:.82rem; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.lm-post-card h2 { margin:11px 0 10px; font-size:1.18rem; line-height:1.8; }
.lm-post-card h2 a { color:var(--lm-primary); text-decoration:none; }
.lm-post-card p { margin:0 0 17px; color:var(--lm-muted); font-size:.94rem; line-height:2; }
.lm-card-footer { margin-top:auto; padding-top:14px; border-top:1px solid #edf1f3; }
.lm-meta { color:var(--lm-muted); font-size:.82rem; }
.lm-read-more { color:var(--lm-primary); font-size:.9rem; font-weight:700; text-decoration:none; }
.lm-read-more span { display:inline-block; transition:transform .2s ease; }
.lm-read-more:hover span { transform:translateX(-4px); }
.lm-entry-narrow { max-width:960px; }
.lm-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:var(--lm-muted); font-size:.85rem; }
.lm-breadcrumb a { color:inherit; text-decoration:none; }
.lm-breadcrumb a:hover { color:var(--lm-accent); }
.lm-entry-categories { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.lm-entry-categories a { padding:4px 10px; border-radius:999px; background:rgba(14,165,168,.11); color:#087c7f; font-size:.83rem; font-weight:700; text-decoration:none; }
.lm-entry-meta span + span { position:relative; padding-right:18px; }
.lm-entry-meta span + span::before { content:""; position:absolute; right:0; top:50%; width:4px; height:4px; border-radius:50%; background:#98abb6; transform:translateY(-50%); }
.lm-entry-layout { display:grid; grid-template-columns:minmax(0,840px) 245px; gap:34px; align-items:start; }
.lm-entry-section { background:#f8fbfc; }
.lm-entry-content { min-width:0; padding:36px clamp(20px,4vw,46px); border:1px solid #e2ebef; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(11,59,96,.06); }
.lm-featured { margin:0 0 31px; }
.lm-featured img { display:block; width:100%; border-radius:12px; }
.lm-entry-content > :first-child { margin-top:0; }
.lm-entry-content p,.lm-entry-content li { color:#344653; font-size:1.04rem; line-height:2.15; }
.lm-entry-content h2,.lm-entry-content h3,.lm-entry-content h4 { color:var(--lm-primary); line-height:1.65; }
.lm-entry-content h2 { margin-top:2.4em; font-size:1.55rem; }
.lm-entry-content h3 { margin-top:2em; font-size:1.27rem; }
.lm-entry-content a { color:#087f87; font-weight:700; }
.lm-entry-content blockquote { margin:28px 0; padding:16px 20px; border-right:4px solid var(--lm-accent); border-radius:0 10px 10px 0; background:#eff9f9; color:#305662; }
.lm-entry-content pre { overflow:auto; direction:ltr; padding:18px; border-radius:10px; background:#102a3e; color:#e9f8fb; }
.lm-entry-aside { position:sticky; top:24px; display:grid; gap:5px; padding:18px; border:1px solid #dfe9ed; border-radius:16px; background:#fff; box-shadow:0 8px 20px rgba(11,59,96,.04); }
.lm-aside-title { display:grid; gap:2px; margin:0 0 8px; padding:2px 3px 13px; border-bottom:1px solid #e7eef1; }
.lm-aside-title span { color:var(--lm-accent); font-size:.78rem; font-weight:700; }
.lm-entry-aside strong { color:var(--lm-primary); font-size:1.05rem; }
.lm-entry-aside a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 7px; border-radius:8px; color:#36515f; font-size:.9rem; text-decoration:none; }
.lm-entry-aside a:hover { background:#eef8f9; color:var(--lm-primary); }
.lm-entry-aside .lm-aside-cta { display:block; margin-top:9px; padding:10px 12px; border-radius:9px; background:var(--lm-primary); color:#fff; font-weight:700; text-align:center; }
.lm-entry-tags { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:42px; padding-top:21px; border-top:1px solid #e4ecef; }
.lm-entry-tags strong { margin-left:5px; color:var(--lm-primary); font-size:.9rem; }
.lm-entry-tags a { padding:3px 10px; border:1px solid #dce7ea; border-radius:999px; color:var(--lm-muted); font-size:.84rem; font-weight:400; text-decoration:none; }
.lm-post-nav { display:flex; justify-content:space-between; gap:16px; margin-top:32px; padding-top:22px; border-top:1px solid var(--lm-border); }
.lm-post-nav span { max-width:48%; }
.lm-post-nav-next { text-align:left; }
.lm-post-nav a { color:var(--lm-primary); font-weight:700; text-decoration:none; }
.nav-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:34px; }
.nav-links a,.nav-links span { min-width:38px; padding:7px 11px; border:1px solid var(--lm-border); border-radius:8px; text-align:center; text-decoration:none; }
.nav-links .current { border-color:var(--lm-primary); background:var(--lm-primary); color:#fff; }
.lm-empty { padding:55px 30px; border:1px dashed #b9ccd5; border-radius:16px; background:#fff; text-align:center; }
.lm-empty h2 { margin-top:0; color:var(--lm-primary); }
.lm-empty p { color:var(--lm-muted); }
.lm-entry { max-width: 840px; }
.lm-entry h2 { margin-top: 40px; color: var(--lm-primary); }
.lm-entry h3 { margin-top: 28px; color: var(--lm-primary); }
.lm-entry table { width: 100%; border-collapse: collapse; }
.lm-entry th, .lm-entry td { padding: 12px; border: 1px solid var(--lm-border); text-align: right; }
.lm-form { display: grid; gap: 16px; max-width: 720px; padding: 24px; border: 1px solid var(--lm-border); border-radius: 12px; background: var(--lm-bg); }
.lm-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lm-form label { display: grid; gap: 6px; font-weight: 700; }
.lm-form input, .lm-form select, .lm-form textarea { width: 100%; padding: 11px 12px; border: 1px solid #bccbd4; border-radius: 7px; background: #fff; color: var(--lm-text); font: inherit; }
.lm-form textarea { min-height: 130px; resize: vertical; }
.lm-form .lm-button { border: 0; cursor: pointer; }
.lm-alert { margin: 0 0 20px; padding: 12px 16px; border-radius: 8px; background: #e8f7ee; color: #145c32; }
.lm-alert-error { background:#fff1f1; color:#a12b2b; }
.lm-honeypot { position: absolute; right: -9999px; opacity: 0; }
.lm-footer { padding: 32px 0; background: #102a3e; color: #eaf3f7; }
.lm-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 24px; }
.lm-footer strong { color: #fff; }
.lm-footer a { color: #fff; }
@media (max-width: 760px) {
	.lm-header-inner { align-items: flex-start; flex-direction: column; padding: 16px 0; }
	.lm-nav { width:100%; }
	.lm-nav > ul { gap: 10px 14px; }
	.lm-nav .lm-menu-fallback { gap: 10px 14px; }
	.lm-nav .sub-menu { position:static; width:100%; min-width:0; margin-top:7px; box-shadow:none; }
	.lm-nav > ul > li { flex-wrap:wrap; }
	.lm-nav .sub-menu a { white-space:normal; }
	.lm-header-cta { align-self: stretch; text-align: center; }
	.lm-hero { padding: 48px 0; }
	.lm-service-hero { padding:52px 0; }
	.lm-grid { grid-template-columns: 1fr; }
	.lm-steps { grid-template-columns: 1fr; }
	.lm-cta { padding: 28px 22px; }
	.lm-contract-hero { padding:56px 0; }
	.lm-form-grid { grid-template-columns: 1fr; }
	.lm-footer-grid { grid-template-columns: 1fr; }
	.lm-contact-layout { grid-template-columns:1fr; }
	.lm-contact-aside { position:static; order:-1; }
	.lm-contact-main .lm-form { padding:21px 17px; }
	.lm-archive-hero,.lm-entry-header { padding:46px 0 40px; }
	.lm-post-grid { grid-template-columns:1fr; }
	.lm-entry-layout { grid-template-columns:1fr; gap:20px; }
	.lm-entry-content { padding:25px 19px; }
	.lm-entry-aside { position:static; order:-1; }
	.lm-post-nav { flex-direction:column; }
	.lm-post-nav span { max-width:none; }
	.lm-post-nav-next { text-align:right; }
}

@media (min-width: 761px) and (max-width: 980px) {
	.lm-post-grid { grid-template-columns:repeat(2,1fr); }
	.lm-entry-layout { grid-template-columns:minmax(0,1fr) 205px; gap:24px; }
}
